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 = '使能狀態'; })();