diff --git a/boards/default_src/micropython/blocks/ai_local.js b/boards/default_src/micropython/blocks/ai_local.js
index b907ab4a..068abe56 100644
--- a/boards/default_src/micropython/blocks/ai_local.js
+++ b/boards/default_src/micropython/blocks/ai_local.js
@@ -233,7 +233,20 @@ export const CI130X_SET_SYSTEM_CMD_SANT = {
}
};
-
+export const CI130X_BROADCAST_SYSTEM_TIME = {
+ init: function () {
+ this.setColour(AI_LOCAL_VOICE_HUE);
+ this.appendDummyInput("")
+ .appendField(new Blockly.FieldDropdown([
+ [Blockly.Msg.MIXLY_DETAILED, "1"],
+ [Blockly.Msg.MIXLY_Concise, "0"]
+ ]), "cmd")
+ .appendField(Blockly.Msg.MIXLY_BROADCAST_SYSTEM_TIME)
+ this.setPreviousStatement(true);
+ this.setNextStatement(true);
+ this.setInputsInline(true);
+ }
+};
//graph part
diff --git a/boards/default_src/micropython/generators/ai_local.js b/boards/default_src/micropython/generators/ai_local.js
index 70c676e8..c7469b63 100644
--- a/boards/default_src/micropython/generators/ai_local.js
+++ b/boards/default_src/micropython/generators/ai_local.js
@@ -95,7 +95,13 @@ export const CI130X_SET_SYSTEM_CMD_SANT = function (_, generator) {
return code;
}
-
+export const CI130X_BROADCAST_SYSTEM_TIME = function (_, generator) {
+ var version = Boards.getSelectedBoardKey().split(':')[2];
+ generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr';
+ var cmd = this.getFieldValue('cmd');
+ var code = 'onboard_asr.play_time(' + cmd + ')\n';
+ return code;
+}
diff --git a/boards/default_src/micropython/generators/display_onboard.js b/boards/default_src/micropython/generators/display_onboard.js
index dba5eef9..cafe26c0 100644
--- a/boards/default_src/micropython/generators/display_onboard.js
+++ b/boards/default_src/micropython/generators/display_onboard.js
@@ -966,6 +966,7 @@ export const onboard_tft_display_line = function (block, generator) {
var s = this.getFieldValue('sync');
if (color.slice(0, 2) == "0x") {
var code = 'onboard_tft.line(' + x1 + ', ' + y1 + ', ' + x2 + ', ' + y2 + ', ' + color + ',sync=' + s +')\n';
+ } else {
const rgbValues = color.match(/\d+/g);
const r = parseInt(rgbValues[0]);
const g = parseInt(rgbValues[1]);
diff --git a/boards/default_src/micropython_esp32s3/template.xml b/boards/default_src/micropython_esp32s3/template.xml
index 6fd5f239..ebe8191b 100644
--- a/boards/default_src/micropython_esp32s3/template.xml
+++ b/boards/default_src/micropython_esp32s3/template.xml
@@ -2485,6 +2485,7 @@
+
diff --git a/common/msg/blockly/zh-hans.js b/common/msg/blockly/zh-hans.js
index 772e6c3b..0c815586 100644
--- a/common/msg/blockly/zh-hans.js
+++ b/common/msg/blockly/zh-hans.js
@@ -4122,4 +4122,7 @@ ZhHans.MIXLY_RIGHT_MOUSE_CORNER = '右嘴角';
ZhHans.MIXLY_RECOGNITION_RECGNITION = '识别';
ZhHans.MIXLY_synchronize = '实时刷新';
ZhHans.MIXLY_Display_long_text = '显示长文本';
+ZhHans.MIXLY_BROADCAST_SYSTEM_TIME = '播报系统时间';
+ZhHans.MIXLY_DETAILED = '详细地';
+ZhHans.MIXLY_Concise = '简洁地';
})();
\ No newline at end of file