diff --git a/boards/default_src/micropython/blocks/actuator_extern.js b/boards/default_src/micropython/blocks/actuator_extern.js
index b5900224..8aab680c 100644
--- a/boards/default_src/micropython/blocks/actuator_extern.js
+++ b/boards/default_src/micropython/blocks/actuator_extern.js
@@ -510,29 +510,11 @@ export const actuator_use_uart_init = {
.appendField(Blockly.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE)
.setCheck("var");
this.appendDummyInput("")
- .appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.LISTS_SET_INDEX_INPUT_TO + 'SYN6288' + Blockly.Msg.MIXLY_AipSpeech_synthesis)
-
- this.setInputsInline(true);
- this.setPreviousStatement(true, null);
- this.setNextStatement(true, null);
- this.setFieldValue("LTR308", "key");
- }
-};
-
-export const actuator_use_uart_init_player = {
- init: function () {
- this.setColour(ACTUATOR_EXTERN_HUE);
- this.appendDummyInput("")
- .appendField(Blockly.Msg.CONTROLS_FOR_INPUT_WITH + "uart")
+ .appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.LISTS_SET_INDEX_INPUT_TO)
.appendField(new Blockly.FieldDropdown([
- ["uart1", "uart1"],
- ["uart2", "uart2"]
- ]), "key");
- this.appendValueInput('SUB')
- .appendField(Blockly.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE)
- .setCheck("var");
- this.appendDummyInput("")
- .appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.LISTS_SET_INDEX_INPUT_TO + 'NS9300' + Blockly.Msg.MIXLY_MUSIC_PLAYER);
+ ['SYN6288' + Blockly.Msg.MIXLY_AipSpeech_synthesis,'SYN6288'],
+ ['NS9300' + Blockly.Msg.MIXLY_MUSIC_PLAYER,'NS9300']
+ ]),'key2');
this.setInputsInline(true);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
@@ -630,6 +612,7 @@ export const player_play_music = {
this.setInputsInline(true);
this.setPreviousStatement(true);
this.setNextStatement(true);
+ this.setTooltip(Blockly.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)
}
}
diff --git a/boards/default_src/micropython/blocks/sensor_extern.js b/boards/default_src/micropython/blocks/sensor_extern.js
index 0cfca1b3..4cfbb851 100644
--- a/boards/default_src/micropython/blocks/sensor_extern.js
+++ b/boards/default_src/micropython/blocks/sensor_extern.js
@@ -341,23 +341,24 @@ export const sensor_use_i2c_init = {
this.appendDummyInput("")
.appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.LISTS_SET_INDEX_INPUT_TO)
.appendField(new Blockly.FieldDropdown([
- ["MPU9250", "MPU9250"],
- ["BMP280", "BMP280"],
- ["SHT20", "SHT20"],
- ["ADXL345", "ADXL345"],
- ["LTR308", "LTR308"],
- ["LTR381RGB", "LTR381RGB"],
- ["UCS12071","UCS12071"],
- ["LTR390UV","LTR390UV"],
- ["HP203X", "HP203X"],
- ["SPL06_001","SPL06_001"],
- ["SHTC3", "SHTC3"],
- ["AHT21", "AHT21"],
- ["VL53L0X", "VL53L0X"],
- ["QMC5883L", "QMC5883L"],
- ["MAX30102", "MAX30102"],
- ["APDS9960", "APDS9960"],
- ["RFID", "RFID"]
+ [Blockly.Msg.MIXLY_ESP32_EXTERN_LIGHT+"LTR-308-ALS", "LTR308"],
+ [Blockly.Msg.MIXLY_COLOR_SENSOR+"LTR-381-RGB", "LTR381RGB"],
+ [Blockly.Msg.MIXLY_COLOR_SENSOR+"UCS12071","UCS12071"],
+ [Blockly.Msg.MIXLY_EXTERN_LIGHTUV +"LTR390UV","LTR390UV"],
+ [Blockly.Msg.MIXLY_ALTITUDE_SENSOR+"HP203X", "HP203X"],
+ [Blockly.Msg.MIXLY_ALTITUDE_SENSOR+"SPL06_001","SPL06_001"],
+ [Blockly.Msg.MIXLY_ALTITUDE_SENSOR+"BMP280", "BMP280"],
+ [Blockly.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR + "SHTC3", "SHTC3"],
+ [Blockly.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR + "AHT21", "AHT21"],
+ [Blockly.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR + "SHT20", "SHT20"],
+ [Blockly.Msg.MIXLY_LASER_RANGE_SENSOR + "VL53L0X", "VL53L0X"],
+ [Blockly.Msg.MIXLY_GEOMAGNETIC_SENSOR + "QMC5883L", "QMC5883L"],
+ [Blockly.Msg.MIXLY_ESP32_MAX30102+"MAX30102", "MAX30102"],
+ [Blockly.Msg.HTML_COLOUR +"、"+ Blockly.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Blockly.Msg.MIXLY_NEXT+"、"+Blockly.Msg.MIXLY_ESP32_APDS9960+"APDS9960", "APDS9960"],
+ [Blockly.Msg.MIXLY_NINE_AXIS_SENSOR+"MPU9250", "MPU9250"],
+ [Blockly.Msg.MixGo_MPU9250+"ADXL345", "ADXL345"],
+ ["RFID", "RFID"],
+ [Blockly.Msg.MIXLY_RADAR_SENSOR+"CBR817", "CBR817"]
]), "key");
this.setInputsInline(true);
this.setPreviousStatement(true, null);
@@ -366,42 +367,6 @@ export const sensor_use_i2c_init = {
}
};
-export const radar_use_i2c_init = {
- init: function () {
- this.setColour(SENSOR_EXTERN_HUE);
- this.appendValueInput('I2CSUB')
- .appendField(Blockly.Msg.CONTROLS_FOR_INPUT_WITH + "I2C")
- .setCheck("var");
- this.appendValueInput('SUB')
- .appendField(Blockly.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE + Blockly.Msg.MIXLY_RADAR)
- .setCheck("var");
- this.appendDummyInput("")
- .appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.LISTS_SET_INDEX_INPUT_TO)
- .appendField(new Blockly.FieldDropdown([
- ["CBR817", "CBR817"]
- ]), "key");
- this.setInputsInline(true);
- this.setPreviousStatement(true, null);
- this.setNextStatement(true, null);
- }
-};
-
-export const radar_set_DELAY_TIME = {
- init: function () {
- this.setColour(SENSOR_EXTERN_HUE);
- this.appendValueInput('SUB')
- .appendField(Blockly.Msg.MIXLY_RADAR)
- .setCheck("var");
- this.appendDummyInput("")
- .appendField(Blockly.Msg.LISTS_SET_INDEX_SET + Blockly.Msg.MIXlY_INTERACTION+Blockly.Msg.MIXLY_DELAY_TIME);
- this.appendValueInput('VAR');
- this.setPreviousStatement(true);
- this.setNextStatement(true);
- this.setInputsInline(true);
- this.setTooltip(Blockly.Msg.MIXLY_THRESHOLD_TOOLTIP);
- }
-};
-
export const radar_set_DETECTION_THRESHOLD = {
init: function () {
this.setColour(SENSOR_EXTERN_HUE);
@@ -409,12 +374,25 @@ export const radar_set_DETECTION_THRESHOLD = {
.appendField(Blockly.Msg.MIXLY_RADAR)
.setCheck("var");
this.appendDummyInput("")
- .appendField(Blockly.Msg.LISTS_SET_INDEX_SET + Blockly.Msg.MIXlY_INTERACTION+Blockly.Msg.MIXLY_DETECTION_THRESHOLD)
+ .appendField(Blockly.Msg.LISTS_SET_INDEX_SET + Blockly.Msg.MIXlY_INTERACTION)
+ this.appendDummyInput()
+ .appendField(new Blockly.FieldDropdown([
+ [Blockly.Msg.MIXLY_DETECTION_THRESHOLD,'threshold'],
+ [Blockly.Msg.MIXLY_DELAY_TIME+' ms','delay_ms']
+ ]),"key")
this.appendValueInput('VAR');
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setInputsInline(true);
- this.setTooltip(Blockly.Msg.MIXLY_DELAY_TIME_RANGE);
+ var thisBlock = this;
+ this.setTooltip(function () {
+ var mode = thisBlock.getFieldValue('key');
+ var TOOLTIPS = {
+ "threshold": Blockly.Msg.MIXLY_THRESHOLD_TOOLTIP,
+ "delay_ms": Blockly.Msg.MIXLY_DELAY_TIME_RANGE
+ };
+ return TOOLTIPS[mode]
+ });
}
};
diff --git a/boards/default_src/micropython/generators/actuator_extern.js b/boards/default_src/micropython/generators/actuator_extern.js
index b1eabbd1..39c17eef 100644
--- a/boards/default_src/micropython/generators/actuator_extern.js
+++ b/boards/default_src/micropython/generators/actuator_extern.js
@@ -217,19 +217,19 @@ export const actuator_neopixel_rgb = function (_, generator) {
}
export const actuator_use_uart_init = function (_, generator) {
- generator.definitions_['import_syn6288'] = 'import syn6288';
var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var key = this.getFieldValue('key');
- var code = v + '=syn6288.SYN6288(' + key + ')\n';
- return code;
-}
-
-export const actuator_use_uart_init_player = function (_, generator) {
- generator.definitions_['import_ns9300'] = 'import ns9300';
- var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
- var key = this.getFieldValue('key');
- var code = v + '=ns9300.NS9300(' + key + ')\n';
- return code;
+ var key2 = this.getFieldValue('key2');
+ if (key2=='SYN6288'){
+ generator.definitions_['import_syn6288'] = 'import syn6288';
+ var code = v + '=syn6288.SYN6288(' + key + ')\n';
+ return code;
+ }else if(key2=='NS9300'){
+ generator.definitions_['import_ns9300'] = 'import ns9300';
+ var code = v + '=ns9300.NS9300(' + key + ')\n';
+ return code;
+ }
+
}
export const player_whether_stop = function(_,generator){
@@ -256,7 +256,7 @@ export const player_set_volume = function(_,generator){
export const player_set_mode = function(_,generator){
var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var key = this.getFieldValue('key');
- var code = v +'.mode('+key+')';
+ var code = v +'.mode('+key+')\n';
return code;
}
@@ -264,7 +264,7 @@ export const player_play_music = function(_,generator){
var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var key = this.getFieldValue('key');
var s = generator.valueToCode(this, 'song', generator.ORDER_ATOMIC);
- var code = v +'.'+key+'('+s+')';
+ var code = v +'.'+key+'('+s+')\n';
return code;
}
diff --git a/boards/default_src/micropython/generators/sensor_extern.js b/boards/default_src/micropython/generators/sensor_extern.js
index b132742f..d83b5ce3 100644
--- a/boards/default_src/micropython/generators/sensor_extern.js
+++ b/boards/default_src/micropython/generators/sensor_extern.js
@@ -181,7 +181,7 @@ export const sensor_use_i2c_init = function (_, generator) {
code = v + ' = ltr381rgb.LTR_381RGB(' + iv + ')\n';
} else if(key == 'UCS12071'){
generator.definitions_['import_ucs12071'] = 'import ucs12071';
- ode = v + ' = ucs12071.UCS1207(' + iv + ')\n';
+ ode = v + ' = ucs12071.UCS12071(' + iv + ')\n';
} else if (key == 'LTR390UV'){
generator.definitions_['import_ltr390uv'] = 'import ltr390uv';
code = v + ' = ltr390uv.ALS_UVS(' + iv +')\n';
@@ -212,35 +212,25 @@ export const sensor_use_i2c_init = function (_, generator) {
} else if (key == 'RFID') {
generator.definitions_['import_rc522'] = 'import rc522';
code = v + ' = rc522.RC522(' + iv + ')\n';
- }
- return code;
-}
-
-export const radar_use_i2c_init = function (_, generator) {
- var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
- var iv = generator.valueToCode(this, 'I2CSUB', generator.ORDER_ATOMIC);
- generator.definitions_['import_machine'] = 'import machine';
- var key = this.getFieldValue('key');
- var code;
- if (key == 'CBR817') {
+ }else if (key == 'CBR817') {
generator.definitions_['import_cbr817'] = 'import cbr817';
code = v + ' = cbr817.' + key + "(" + iv + ')\n';
}
return code;
}
-export const radar_set_DELAY_TIME = function (_, generator) {
- var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
- var value = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC);
- var code = sub + '.delay_ms(' + value +')\n';
- return code;
-}
-
export const radar_set_DETECTION_THRESHOLD = function (_, generator) {
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
var value = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC);
- var code = sub + '.threshold(' + value +')\n';
- return code;
+ var key = this.getFieldValue('key');
+ if(key=='threshold'){
+ var code = sub + '.threshold(' + value +')\n';
+ return code;
+ }else if(key=='delay_ms'){
+ var code = sub + '.delay_ms(' + value +')\n';
+ return code;
+ }
+
}
export const interaction_whether_to_interaction = function(_,generator){
diff --git a/boards/default_src/micropython/origin/build/lib/ucs12071.py b/boards/default_src/micropython/origin/build/lib/ucs12071.py
index ddca328d..303b94ef 100644
--- a/boards/default_src/micropython/origin/build/lib/ucs12071.py
+++ b/boards/default_src/micropython/origin/build/lib/ucs12071.py
@@ -17,7 +17,7 @@ UCS_CLS_DATA = const(0x1C)
_GAINS_X = (1, 4, 8, 32, 96, 192)
-class UCS1207:
+class UCS12071:
def __init__(self, i2c_bus, addr=0x38, gain=2):
self._device = i2c_bus
self._address = addr
diff --git a/boards/default_src/micropython_esp32/template.xml b/boards/default_src/micropython_esp32/template.xml
index 438696f8..72c29865 100644
--- a/boards/default_src/micropython_esp32/template.xml
+++ b/boards/default_src/micropython_esp32/template.xml
@@ -4125,6 +4125,32 @@
+
+
+
+ radar
+
+
+
+
+ 5000
+
+
+
+
+
+
+ radar
+
+
+
+
+ 500
+
+
+
+
+
@@ -4449,6 +4475,52 @@
+
+
+
+ player
+
+
+
+
+
+
+ player
+
+
+
+
+
+
+ player
+
+
+
+
+ 20
+
+
+
+
+
+
+ player
+
+
+
+
+
+
+ player
+
+
+
+
+ mixly*.mp3
+
+
+
+
diff --git a/boards/default_src/micropython_esp32c2/template.xml b/boards/default_src/micropython_esp32c2/template.xml
index a10b9d65..9bc4aa92 100644
--- a/boards/default_src/micropython_esp32c2/template.xml
+++ b/boards/default_src/micropython_esp32c2/template.xml
@@ -3987,42 +3987,6 @@
-
-
-
- i2c
-
-
-
-
- 1
-
-
-
-
- 2
-
-
-
-
- 100000
-
-
-
-
-
-
- radar
-
-
-
-
- i2c
-
-
-
-
-
@@ -4382,27 +4346,6 @@
-
-
-
- 1
-
-
-
-
- 2
-
-
-
-
-
-
- player
-
-
-
-
-
@@ -4444,7 +4387,7 @@
- 0
+ mixly*.mp3
diff --git a/boards/default_src/micropython_esp32c3/template.xml b/boards/default_src/micropython_esp32c3/template.xml
index f48d234d..a18c5781 100644
--- a/boards/default_src/micropython_esp32c3/template.xml
+++ b/boards/default_src/micropython_esp32c3/template.xml
@@ -3925,6 +3925,32 @@
+
+
+
+ radar
+
+
+
+
+ 5000
+
+
+
+
+
+
+ radar
+
+
+
+
+ 500
+
+
+
+
+
@@ -4258,6 +4284,51 @@
+
+
+
+ player
+
+
+
+
+
+
+ player
+
+
+
+
+
+
+ player
+
+
+
+
+ 20
+
+
+
+
+
+
+ player
+
+
+
+
+
+
+ player
+
+
+
+
+ mixly*.mp3
+
+
+
diff --git a/boards/default_src/micropython_esp32s2/template.xml b/boards/default_src/micropython_esp32s2/template.xml
index 918be4b7..3d7cfbd2 100644
--- a/boards/default_src/micropython_esp32s2/template.xml
+++ b/boards/default_src/micropython_esp32s2/template.xml
@@ -3718,6 +3718,32 @@
+
+
+
+ radar
+
+
+
+
+ 5000
+
+
+
+
+
+
+ radar
+
+
+
+
+ 500
+
+
+
+
+
@@ -4041,6 +4067,51 @@
+
+
+
+ player
+
+
+
+
+
+
+ player
+
+
+
+
+
+
+ player
+
+
+
+
+ 20
+
+
+
+
+
+
+ player
+
+
+
+
+
+
+ player
+
+
+
+
+ mixly*.mp3
+
+
+
diff --git a/boards/default_src/micropython_esp32s3/template.xml b/boards/default_src/micropython_esp32s3/template.xml
index e38e1c99..e055d288 100644
--- a/boards/default_src/micropython_esp32s3/template.xml
+++ b/boards/default_src/micropython_esp32s3/template.xml
@@ -4357,6 +4357,32 @@
+
+
+
+ radar
+
+
+
+
+ 5000
+
+
+
+
+
+
+ radar
+
+
+
+
+ 500
+
+
+
+
+
@@ -4680,6 +4706,51 @@
+
+
+
+ player
+
+
+
+
+
+
+ player
+
+
+
+
+
+
+ player
+
+
+
+
+ 20
+
+
+
+
+
+
+ player
+
+
+
+
+
+
+ player
+
+
+
+
+ mixly*.mp3
+
+
+
diff --git a/common/msg/blockly/en.js b/common/msg/blockly/en.js
index 1ed2e2e6..ad1f5f98 100644
--- a/common/msg/blockly/en.js
+++ b/common/msg/blockly/en.js
@@ -3777,4 +3777,15 @@ En.MIXLY_PLAYER_DIRECTORY_LOOP = 'directory loop';
En.MIXLY_PLAYER_SINGLE_STOP = 'single stop';
En.MIXLY_PLAYER_SEQUENTIAL_PLAY ='sequential play';
En.MIXLY_PLAYER_INSERT_MUSIC ='interjection';
+En.MIXLY_COLOR_SENSOR = 'color sensor';
+En.MIXLY_ALTITUDE_SENSOR = 'air pressure sensor';
+En.MIXLY_TEMP_AND_HUMIDITY_SENSOR = 'temperature and humidity sensor';
+En.MIXLY_LASER_RANGE_SENSOR = 'laser ranging sensor';
+En.MIXLY_GEOMAGNETIC_SENSOR = 'geomagnetic sensor';
+En.MIXLY_ENVIRONMENT_LIGHT = 'environment light';
+En.MIXLY_NEXT = 'approach';
+En.MIXLY_RADIO_FREQUENCY_READER = "radio frequency reader";
+En.MIXLY_NINE_AXIS_SENSOR ='nine-axis sensor';
+En.MIXLY_RADAR_SENSOR = 'microwave radar sensor';
+En.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP = 'Track input parameter:int type used to denote a song track(The sequence of tracks is the first to be placed on the USB flash drive.); str type used to represent the short file name of the song(Default mixly*.mp3, does not support Chinese, can be * omitted)';
})();
diff --git a/common/msg/blockly/zh-hans.js b/common/msg/blockly/zh-hans.js
index a2a06d08..bf4926ee 100644
--- a/common/msg/blockly/zh-hans.js
+++ b/common/msg/blockly/zh-hans.js
@@ -3930,4 +3930,15 @@ ZhHans.MIXLY_PLAYER_DIRECTORY_LOOP = '目录循环';
ZhHans.MIXLY_PLAYER_SINGLE_STOP = '单曲停止';
ZhHans.MIXLY_PLAYER_SEQUENTIAL_PLAY ='顺序播放';
ZhHans.MIXLY_PLAYER_INSERT_MUSIC ='插播歌曲';
+ZhHans.MIXLY_COLOR_SENSOR = '颜色传感器';
+ZhHans.MIXLY_ALTITUDE_SENSOR = '气压传感器';
+ZhHans.MIXLY_TEMP_AND_HUMIDITY_SENSOR = '温湿度传感器';
+ZhHans.MIXLY_LASER_RANGE_SENSOR = '激光测距传感器';
+ZhHans.MIXLY_GEOMAGNETIC_SENSOR = '地磁传感器';
+ZhHans.MIXLY_ENVIRONMENT_LIGHT = '环境光';
+ZhHans.MIXLY_NEXT = '接近';
+ZhHans.MIXLY_RADIO_FREQUENCY_READER = "无线射频读写器";
+ZhHans.MIXLY_NINE_AXIS_SENSOR ='九轴传感器';
+ZhHans.MIXLY_RADAR_SENSOR = '微波雷达传感器';
+ZhHans.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP = '曲目输入参数:int类型用来表示歌曲曲目(曲目顺序为放进去U盘的先后), str类型用来表示歌曲短文件名(默认mixly*.mp3,不支持中文,可用*省略)';
})();
\ No newline at end of file
diff --git a/common/msg/blockly/zh-hant.js b/common/msg/blockly/zh-hant.js
index 756b8ddb..c4ec5977 100644
--- a/common/msg/blockly/zh-hant.js
+++ b/common/msg/blockly/zh-hant.js
@@ -3780,4 +3780,15 @@ ZhHant.MIXLY_PLAYER_DIRECTORY_LOOP = '目錄循環';
ZhHant.MIXLY_PLAYER_SINGLE_STOP = '單曲停止';
ZhHant.MIXLY_PLAYER_SEQUENTIAL_PLAY ='順序播放';
ZhHant.MIXLY_PLAYER_INSERT_MUSIC ='插播歌曲';
+ZhHans.MIXLY_COLOR_SENSOR = '顏色傳感器';
+ZhHans.MIXLY_ALTITUDE_SENSOR = '氣壓傳感器';
+ZhHans.MIXLY_TEMP_AND_HUMIDITY_SENSOR = '溫濕度傳感器';
+ZhHans.MIXLY_LASER_RANGE_SENSOR = '激光測距傳感器';
+ZhHans.MIXLY_GEOMAGNETIC_SENSOR = '地磁傳感器';
+ZhHans.MIXLY_ENVIRONMENT_LIGHT = '環境光';
+ZhHans.MIXLY_NEXT = '接近';
+ZhHans.MIXLY_RADIO_FREQUENCY_READER = "無線頻射讀寫器";
+ZhHans.MIXLY_NINE_AXIS_SENSOR ='九軸傳感器';
+ZhHans.MIXLY_RADAR_SENSOR = '微波雷達傳感器';
+ZhHans.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP = '曲目輸入參數:int類型用來表示歌曲曲目(曲目順序為放進去U盤的先後), str類型用來表示歌曲短文件名(默認mixly*.mp3,不支持中文,可用*省略)';
})();
\ No newline at end of file