diff --git a/boards/default_src/micropython/blocks/actuator_onboard.js b/boards/default_src/micropython/blocks/actuator_onboard.js
index 03ee04ae..ba4e63d6 100644
--- a/boards/default_src/micropython/blocks/actuator_onboard.js
+++ b/boards/default_src/micropython/blocks/actuator_onboard.js
@@ -1806,4 +1806,35 @@ export const get_keyboard_light = {
this.setOutput(true);
this.setInputsInline(true);
}
-};
\ No newline at end of file
+};
+
+export const set_microphone_amplification = {
+ init: function () {
+ this.setColour(ACTUATOR_ONBOARD_HUE);
+ this.appendDummyInput()
+ .appendField(Blockly.Msg.LISTS_SET_INDEX_SET + Blockly.Msg.MIXLY_MICROPHONE_AMPLIFICATION)
+ this.appendDummyInput()
+ .appendField(new Blockly.FieldDropdown([
+ ['4x', "0"],
+ ['8x', "1"],
+ ['16x', "2"],
+ ['32x', "3"]
+ ]), 'times');
+ this.setPreviousStatement(true);
+ this.setNextStatement(true);
+ this.setInputsInline(true);
+ }
+};
+
+export const record_audio = {
+ init: function () {
+ this.setColour(ACTUATOR_ONBOARD_HUE);
+ this.appendValueInput('str')
+ .appendField(Blockly.Msg.MIXPY_AI_AUDIO);
+ this.appendValueInput('time')
+ .appendField(Blockly.Msg.MIXPY_AI_AUDIO_TIME);
+ this.setPreviousStatement(true);
+ this.setNextStatement(true);
+ this.setInputsInline(true);
+ }
+};
diff --git a/boards/default_src/micropython/blocks/display_extern.js b/boards/default_src/micropython/blocks/display_extern.js
index cfdccde5..262ff826 100644
--- a/boards/default_src/micropython/blocks/display_extern.js
+++ b/boards/default_src/micropython/blocks/display_extern.js
@@ -837,9 +837,6 @@ export const display_oled_drawPixel = {
export const display_tm_use_i2c_init = {
init: function () {
this.setColour(DISPLAY_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)
.setCheck("var");
@@ -850,6 +847,10 @@ export const display_tm_use_i2c_init = {
["TM1650", "TM1650"],
["TM1637", "TM1637"]
]), "key");
+ this.appendValueInput('CLK')
+ .appendField('CLK#');
+ this.appendValueInput('DIO')
+ .appendField('DIO#');
this.setInputsInline(true);
this.setPreviousStatement(true, null);
this.setNextStatement(true, null);
@@ -892,7 +893,7 @@ export const display_tm1650_show_num = {
this.setColour(DISPLAY_EXTERN_HUE);
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY)
- .appendField(new Blockly.FieldDropdown([["TM1650", "tm1650"]]), "TYPE");
+ .appendField(new Blockly.FieldDropdown([["TM1650", "tm1650"],["TM1637", "TM1637"]]), "TYPE");
this.appendValueInput("VAR")
this.appendValueInput("VALUE")
.setAlign(Blockly.inputs.Align.RIGHT)
@@ -909,7 +910,7 @@ export const display_tm1650_show_dot = {
this.setColour(DISPLAY_EXTERN_HUE);
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY)
- .appendField(new Blockly.FieldDropdown([["TM1650", "tm1650"]]), "TYPE");
+ .appendField(new Blockly.FieldDropdown([["TM1650", "tm1650"],["TM1637", "TM1637"]]), "TYPE");
this.appendValueInput("VAR")
this.appendValueInput("NO")
.appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER1)
@@ -927,7 +928,7 @@ export const display_tm1650_set_brightness = {
this.setColour(DISPLAY_EXTERN_HUE);
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY)
- .appendField(new Blockly.FieldDropdown([["TM1650", "tm1650"]]), "TYPE");
+ .appendField(new Blockly.FieldDropdown([["TM1650", "tm1650"],["TM1637", "TM1637"]]), "TYPE");
this.appendValueInput("VAR")
this.appendValueInput("VALUE")
.setAlign(Blockly.inputs.Align.RIGHT)
diff --git a/boards/default_src/micropython/generators/actuator_onboard.js b/boards/default_src/micropython/generators/actuator_onboard.js
index b5b7585a..f5e956bf 100644
--- a/boards/default_src/micropython/generators/actuator_onboard.js
+++ b/boards/default_src/micropython/generators/actuator_onboard.js
@@ -773,4 +773,21 @@ export const get_keyboard_light = function (_,generator){
var key = this.getFieldValue('key');
var code = "onboard_bot.hid_keyboard_state()["+ key +']';
return [code,generator.ORDER_ATOMIC]
+}
+
+export const set_microphone_amplification = function (_,generator){
+ var version = Boards.getSelectedBoardKey().split(':')[2]
+ generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot';
+ var t = this.getFieldValue('times');
+ var code = "onboard_bot.mic_pga("+ t +')\n';
+ return code;
+}
+
+export const record_audio = function (_,generator){
+ var version = Boards.getSelectedBoardKey().split(':')[2]
+ generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot';
+ var str = generator.valueToCode(this, 'str', generator.ORDER_ATOMIC);
+ var t = generator.valueToCode(this, 'time', generator.ORDER_ATOMIC);
+ var code = 'onboard_bot.mic_pga('+str+','+ t +')\n';
+ return code;
}
\ No newline at end of file
diff --git a/boards/default_src/micropython/generators/display_extern.js b/boards/default_src/micropython/generators/display_extern.js
index f43218e9..0cba2754 100644
--- a/boards/default_src/micropython/generators/display_extern.js
+++ b/boards/default_src/micropython/generators/display_extern.js
@@ -309,15 +309,17 @@ export const display_oled_drawPixel = function (_, generator) {
//tm1650
export const display_tm_use_i2c_init = function (_, generator) {
var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
+ var clk = generator.valueToCode(this, 'CLK', generator.ORDER_ATOMIC);
+ var dio = generator.valueToCode(this, 'DIO', generator.ORDER_ATOMIC);
// var iv = generator.valueToCode(this, 'I2CSUB', generator.ORDER_ATOMIC);
var key = this.getFieldValue("key");
var code;
if (key == 'TM1650') {
generator.definitions_['import_tm1650'] = 'import tm1650';
- code = v + ' = tm1650.' + key + '(clk=3,dio=4)\n';
+ code = v + ' = tm1650.' + key + '(clk='+ clk +',dio='+ dio +')\n';
} else if (key == 'TM1637') {
generator.definitions_['import_tm1637'] = 'import tm1637';
- code = v + ' = tm1637.' + key + '(clk=3,dio=4)\n';
+ code = v + ' = tm1637.' + key + '(clk='+ clk +',dio='+ dio +')\n';
}
return code;
}
diff --git a/boards/default_src/micropython_educore/template.xml b/boards/default_src/micropython_educore/template.xml
index 6bec0a62..a687c581 100644
--- a/boards/default_src/micropython_educore/template.xml
+++ b/boards/default_src/micropython_educore/template.xml
@@ -5099,41 +5099,22 @@
-
+
- i2c_extend
+ disp
-
+
+
+ 3
+
+
+
4
-
-
- 5
-
-
-
-
- 100000
-
-
-
-
-
-
- disp
-
-
-
-
- i2c_extend
-
-
-
-
diff --git a/boards/default_src/micropython_esp32/template.xml b/boards/default_src/micropython_esp32/template.xml
index fea854ef..deba6299 100644
--- a/boards/default_src/micropython_esp32/template.xml
+++ b/boards/default_src/micropython_esp32/template.xml
@@ -4972,41 +4972,22 @@
-
+
- i2c_extend
+ disp
-
+
+
+ 3
+
+
+
4
-
-
- 5
-
-
-
-
- 100000
-
-
-
-
-
-
- disp
-
-
-
-
- i2c_extend
-
-
-
-
diff --git a/boards/default_src/micropython_esp32c2/template.xml b/boards/default_src/micropython_esp32c2/template.xml
index fe12147d..a878de7c 100644
--- a/boards/default_src/micropython_esp32c2/template.xml
+++ b/boards/default_src/micropython_esp32c2/template.xml
@@ -1762,6 +1762,21 @@
+
+
+
+
+
+ mixly.wav
+
+
+
+
+ 5
+
+
+
+
@@ -4876,41 +4891,22 @@
-
+
- i2c_extend
+ disp
-
+
+
+ 3
+
+
+
4
-
-
- 5
-
-
-
-
- 100000
-
-
-
-
-
-
- disp
-
-
-
-
- i2c_extend
-
-
-
-
diff --git a/boards/default_src/micropython_esp32c3/template.xml b/boards/default_src/micropython_esp32c3/template.xml
index 74a424ba..c8f06683 100644
--- a/boards/default_src/micropython_esp32c3/template.xml
+++ b/boards/default_src/micropython_esp32c3/template.xml
@@ -4777,42 +4777,24 @@
-
+
- i2c_extend
+ disp
-
+
+
+ 3
+
+
+
4
-
-
- 5
-
-
-
-
- 100000
-
-
-
-
-
-
- disp
-
-
-
-
- i2c_extend
-
-
-
-
+
diff --git a/boards/default_src/micropython_esp32s2/template.xml b/boards/default_src/micropython_esp32s2/template.xml
index be3c2d34..f2f6f3c6 100644
--- a/boards/default_src/micropython_esp32s2/template.xml
+++ b/boards/default_src/micropython_esp32s2/template.xml
@@ -4508,41 +4508,22 @@
-
+
- i2c_extend
+ disp
-
+
+
+ 3
+
+
+
4
-
-
- 5
-
-
-
-
- 100000
-
-
-
-
-
-
- disp
-
-
-
-
- i2c_extend
-
-
-
-
diff --git a/boards/default_src/micropython_esp32s3/template.xml b/boards/default_src/micropython_esp32s3/template.xml
index ab32ffc8..e9b608bb 100644
--- a/boards/default_src/micropython_esp32s3/template.xml
+++ b/boards/default_src/micropython_esp32s3/template.xml
@@ -5272,11 +5272,16 @@
disp
-
+
+
+
+ 4
+
+
diff --git a/common/msg/blockly/en.js b/common/msg/blockly/en.js
index 17c0d03d..9a8095b7 100644
--- a/common/msg/blockly/en.js
+++ b/common/msg/blockly/en.js
@@ -3972,4 +3972,5 @@ 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';
+En.MIXLY_MICROPHONE_AMPLIFICATION = 'microphone amplification';
})();
diff --git a/common/msg/blockly/zh-hans.js b/common/msg/blockly/zh-hans.js
index 851cd0e3..71b51b53 100644
--- a/common/msg/blockly/zh-hans.js
+++ b/common/msg/blockly/zh-hans.js
@@ -4131,4 +4131,5 @@ 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
+ZhHans.MIXLY_MICROPHONE_AMPLIFICATION = '麦克风放大倍数';
+})();
\ No newline at end of file
diff --git a/common/msg/blockly/zh-hant.js b/common/msg/blockly/zh-hant.js
index 7ed14538..43bfd21e 100644
--- a/common/msg/blockly/zh-hant.js
+++ b/common/msg/blockly/zh-hant.js
@@ -4126,4 +4126,5 @@ ZhHant.MIXLY_IMAGE_ACQUISITION = '圖像採集';
ZhHant.MIXLY_JPG_base64_CODE= 'JPG的base64編碼';
ZhHant.MIXLY_IMAGE_OF_FILE = '圖像文件編碼數據';
ZhHant.MIXLY_ENABLE_STATUS = '使能狀態';
+ZhHant.MIXLY_MICROPHONE_AMPLIFICATION = '麥克風放大倍數';
})();