diff --git a/boards/default_src/micropython/blocks/ai_local.js b/boards/default_src/micropython/blocks/ai_local.js
index 430c564e..026ea825 100644
--- a/boards/default_src/micropython/blocks/ai_local.js
+++ b/boards/default_src/micropython/blocks/ai_local.js
@@ -18,6 +18,20 @@ export const VOICE_RECOGNITION_CONTROL = {
this.setInputsInline(true);
}
}
+export const CI130X_OPEN_AND_CLOSE = {
+ init: function () {
+ this.setColour(AI_LOCAL_VOICE_HUE);
+ this.appendDummyInput("")
+ .appendField(Blockly.Msg.MIXLY_AipSpeech_asr)
+ .appendField(new Blockly.FieldDropdown([
+ [Blockly.Msg.MIXLY_ON,"1"],
+ [Blockly.Msg.MIXLY_OFF,"0"]
+ ]),"status")
+ this.setPreviousStatement(true);
+ this.setNextStatement(true);
+ this.setInputsInline(true);
+ }
+}
export const CI130X_IDENTIFY_AND_SAVE_SANT = {
init: function () {
@@ -116,7 +130,8 @@ export const CI130X_GET_THE_RECOGNIZED_CMD_SANT = {
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_RECOGNIZED_STATE, "status1"],
[Blockly.Msg.MIXLY_WHETHER_BROADCAST, "status2"],
- [Blockly.Msg.MIXLY_THE_RECOGNIZED_CMD, "result"]
+ [Blockly.Msg.MIXLY_THE_RECOGNIZED_CMD, "result"],
+ [Blockly.Msg.MIXLY_ENABLE_STATUS,"status3"]
]), "key")
this.setOutput(true);
this.setInputsInline(true);
diff --git a/boards/default_src/micropython/blocks/display_onboard.js b/boards/default_src/micropython/blocks/display_onboard.js
index b5c01f7b..19cadec0 100644
--- a/boards/default_src/micropython/blocks/display_onboard.js
+++ b/boards/default_src/micropython/blocks/display_onboard.js
@@ -66,7 +66,6 @@ export const display_scroll_string_delay = {
init: function () {
this.setColour(DISPLAY_ONBOARD_HUE);
this.appendValueInput('data')
- .setCheck(String)
.appendField(Blockly.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING);
var version = Boards.getSelectedBoardKey()
if (version == 'micropython:esp32s3:mixgo_nova') {
@@ -125,7 +124,6 @@ export const display_show_frame_string = {
init: function () {
this.setColour(DISPLAY_ONBOARD_HUE);
this.appendValueInput('data')
- .setCheck(String)
.appendField(Blockly.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
@@ -137,7 +135,6 @@ export const display_show_frame_string_delay = {
init: function () {
this.setColour(DISPLAY_ONBOARD_HUE);
this.appendValueInput('data')
- .setCheck(String)
.appendField(Blockly.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME);
this.appendValueInput("time")
.setCheck(Number)
diff --git a/boards/default_src/micropython/generators/ai_local.js b/boards/default_src/micropython/generators/ai_local.js
index 6227f38f..584ba5ac 100644
--- a/boards/default_src/micropython/generators/ai_local.js
+++ b/boards/default_src/micropython/generators/ai_local.js
@@ -9,6 +9,20 @@ export const VOICE_RECOGNITION_CONTROL = function (_, generator) {
return code;
}
+export const CI130X_OPEN_AND_CLOSE = function (_, generator) {
+ var version = Boards.getSelectedBoardKey().split(':')[2];
+ var status = this.getFieldValue('status');
+ if(version == 'mixgo_sant'){
+ generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr';
+ var code = 'onboard_asr.asr_en('+ status +')\n';
+ }
+ else if(version == 'mixgo_mini'){
+ generator.definitions_['import_mini_gx_ext_asr'] = 'from mini_gx import ext_asr';
+ var code = 'ext_asr.asr_en('+ status +')\n';
+ }
+ return code;
+}
+
export const CI130X_IDENTIFY_AND_SAVE_SANT = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2];
if(version == 'mixgo_sant'){
@@ -46,6 +60,8 @@ export const CI130X_GET_THE_RECOGNIZED_CMD_SANT = function (_, generator) {
var code = 'onboard_asr.status()[0]';
} else if (key == 'status2') {
var code = 'onboard_asr.status()[1]';
+ } else if (key == 'status3') {
+ var code = 'ext_asr.asr_en()';
} else {
var code = 'onboard_asr.' + key + '()';
}
@@ -56,6 +72,8 @@ export const CI130X_GET_THE_RECOGNIZED_CMD_SANT = function (_, generator) {
var code = 'ext_asr.status()[0]';
} else if (key == 'status2') {
var code = 'ext_asr.status()[1]';
+ } else if (key == 'status3') {
+ var code = 'ext_asr.asr_en()';
} else {
var code = 'ext_asr.' + key + '()';
}
diff --git a/boards/default_src/micropython_esp32c2/template.xml b/boards/default_src/micropython_esp32c2/template.xml
index 55965a56..c480a5ad 100644
--- a/boards/default_src/micropython_esp32c2/template.xml
+++ b/boards/default_src/micropython_esp32c2/template.xml
@@ -2054,6 +2054,7 @@
+
diff --git a/common/msg/blockly/en.js b/common/msg/blockly/en.js
index f2225558..a0c48365 100644
--- a/common/msg/blockly/en.js
+++ b/common/msg/blockly/en.js
@@ -3971,4 +3971,5 @@ En.MIXLY_TVOC_CO2_SENSOR_GRT_DATA = 'Obtain the concentrations of TVOC(mg/m³),
En.MIXLY_IMAGE_ACQUISITION = 'image acquisition';
En.MIXLY_JPG_base64_CODE= "JPG's base64 code";
En.MIXLY_IMAGE_OF_FILE = 'code data of image file';
+En.MIXLY_ENABLE_STATUS = 'enable status';
})();
diff --git a/common/msg/blockly/zh-hans.js b/common/msg/blockly/zh-hans.js
index 5252cf08..597149df 100644
--- a/common/msg/blockly/zh-hans.js
+++ b/common/msg/blockly/zh-hans.js
@@ -4130,4 +4130,5 @@ ZhHans.MIXLY_TVOC_CO2_SENSOR_GRT_DATA = '获取TVOC(mg/m3) 、甲醛(mg/m3)、
ZhHans.MIXLY_IMAGE_ACQUISITION = '图像采集';
ZhHans.MIXLY_JPG_base64_CODE= 'JPG的base64编码';
ZhHans.MIXLY_IMAGE_OF_FILE = '图像文件编码数据';
+ZhHans.MIXLY_ENABLE_STATUS = '使能状态';
})();
\ No newline at end of file
diff --git a/common/msg/blockly/zh-hant.js b/common/msg/blockly/zh-hant.js
index 5c86f9e8..fc555eb2 100644
--- a/common/msg/blockly/zh-hant.js
+++ b/common/msg/blockly/zh-hant.js
@@ -4125,4 +4125,5 @@ ZhHant.MIXLY_TVOC_CO2_SENSOR_GRT_DATA = '獲取TVOC(mg/m3) 、甲醛(mg/m3)、
ZhHant.MIXLY_IMAGE_ACQUISITION = '圖像採集';
ZhHant.MIXLY_JPG_base64_CODE= 'JPG的base64編碼';
ZhHant.MIXLY_IMAGE_OF_FILE = '圖像文件編碼數據';
+ZhHant.MIXLY_ENABLE_STATUS = '使能狀態';
})();