修改外接四位数码屏、新增mini板载执行 麦克风

This commit is contained in:
Irene-Maxine
2025-07-24 00:27:20 +08:00
parent 51277dc273
commit 9cce2e9a0b
13 changed files with 129 additions and 149 deletions

View File

@@ -1806,4 +1806,35 @@ export const get_keyboard_light = {
this.setOutput(true);
this.setInputsInline(true);
}
};
};
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);
}
};

View File

@@ -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)

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -5099,41 +5099,22 @@
</category>
<category id="cat4Digitdisplay" colour='5BA5A5'>
<block type="communicate_i2c_init">
<block type="display_tm_use_i2c_init">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">i2c_extend</field>
<field name="VAR">disp</field>
</shadow>
</value>
<value name="TX">
<value name="CLK">
<shadow type="pins_digital_pin">
<field name="PIN">3</field>
</shadow>
</value>
<value name="DIO">
<shadow type="pins_digital_pin">
<field name="PIN">4</field>
</shadow>
</value>
<value name="RX">
<shadow type="pins_digital_pin">
<field name="PIN">5</field>
</shadow>
</value>
<value name="freq">
<shadow type="math_number">
<field name="NUM">100000</field>
</shadow>
</value>
<next>
<block type="display_tm_use_i2c_init">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">disp</field>
</shadow>
</value>
<value name="I2CSUB">
<shadow type="variables_get">
<field name="VAR">i2c_extend</field>
</shadow>
</value>
</block>
</next>
</block>
<block type="display_tm1650_show_num">

View File

@@ -4972,41 +4972,22 @@
</category>
<category id="cat4Digitdisplay" colour='5BA5A5'>
<block type="communicate_i2c_init">
<block type="display_tm_use_i2c_init">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">i2c_extend</field>
<field name="VAR">disp</field>
</shadow>
</value>
<value name="TX">
<value name="CLK">
<shadow type="pins_digital_pin">
<field name="PIN">3</field>
</shadow>
</value>
<value name="DIO">
<shadow type="pins_digital_pin">
<field name="PIN">4</field>
</shadow>
</value>
<value name="RX">
<shadow type="pins_digital_pin">
<field name="PIN">5</field>
</shadow>
</value>
<value name="freq">
<shadow type="math_number">
<field name="NUM">100000</field>
</shadow>
</value>
<next>
<block type="display_tm_use_i2c_init">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">disp</field>
</shadow>
</value>
<value name="I2CSUB">
<shadow type="variables_get">
<field name="VAR">i2c_extend</field>
</shadow>
</value>
</block>
</next>
</block>
<block type="display_tm1650_show_num">

View File

@@ -1762,6 +1762,21 @@
</shadow>
</value>
</block>
<block type="set_microphone_amplification" m-show="micropython:esp32c2:mixgo_mini">
</block>
<block type="record_audio" m-show="micropython:esp32c2:mixgo_mini">
<value name="str">
<shadow type="text">
<field name="TEXT">mixly.wav</field>
</shadow>
</value>
<value name="time">
<shadow type="math_number">
<field name="NUM">5</field>
</shadow>
</value>
</block>
</category>
<category id="catOnBoardDisplay" name="catOnBoardDisplay" colour='#569A98'
m-hide='micropython:esp32c3:generic micropython:esp32c3:mixgocar_c3'>
@@ -4876,41 +4891,22 @@
</category>
<category id="cat4Digitdisplay" colour='5BA5A5'>
<block type="communicate_i2c_init">
<block type="display_tm_use_i2c_init">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">i2c_extend</field>
<field name="VAR">disp</field>
</shadow>
</value>
<value name="TX">
<value name="CLK">
<shadow type="pins_digital_pin">
<field name="PIN">3</field>
</shadow>
</value>
<value name="DIO">
<shadow type="pins_digital_pin">
<field name="PIN">4</field>
</shadow>
</value>
<value name="RX">
<shadow type="pins_digital_pin">
<field name="PIN">5</field>
</shadow>
</value>
<value name="freq">
<shadow type="math_number">
<field name="NUM">100000</field>
</shadow>
</value>
<next>
<block type="display_tm_use_i2c_init">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">disp</field>
</shadow>
</value>
<value name="I2CSUB">
<shadow type="variables_get">
<field name="VAR">i2c_extend</field>
</shadow>
</value>
</block>
</next>
</block>
<block type="display_tm1650_show_num">

View File

@@ -4777,42 +4777,24 @@
</category>
<category id="cat4Digitdisplay" colour='5BA5A5'>
<block type="communicate_i2c_init">
<block type="display_tm_use_i2c_init">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">i2c_extend</field>
<field name="VAR">disp</field>
</shadow>
</value>
<value name="TX">
<value name="CLK">
<shadow type="pins_digital_pin">
<field name="PIN">3</field>
</shadow>
</value>
<value name="DIO">
<shadow type="pins_digital_pin">
<field name="PIN">4</field>
</shadow>
</value>
<value name="RX">
<shadow type="pins_digital_pin">
<field name="PIN">5</field>
</shadow>
</value>
<value name="freq">
<shadow type="math_number">
<field name="NUM">100000</field>
</shadow>
</value>
<next>
<block type="display_tm_use_i2c_init">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">disp</field>
</shadow>
</value>
<value name="I2CSUB">
<shadow type="variables_get">
<field name="VAR">i2c_extend</field>
</shadow>
</value>
</block>
</next>
</block>
<block type="display_tm1650_show_num">
<value name="VAR">

View File

@@ -4508,41 +4508,22 @@
</category>
<category id="cat4Digitdisplay" colour='5BA5A5'>
<block type="communicate_i2c_init">
<block type="display_tm_use_i2c_init">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">i2c_extend</field>
<field name="VAR">disp</field>
</shadow>
</value>
<value name="TX">
<value name="CLK">
<shadow type="pins_digital_pin">
<field name="PIN">3</field>
</shadow>
</value>
<value name="DIO">
<shadow type="pins_digital_pin">
<field name="PIN">4</field>
</shadow>
</value>
<value name="RX">
<shadow type="pins_digital_pin">
<field name="PIN">5</field>
</shadow>
</value>
<value name="freq">
<shadow type="math_number">
<field name="NUM">100000</field>
</shadow>
</value>
<next>
<block type="display_tm_use_i2c_init">
<value name="SUB">
<shadow type="variables_get">
<field name="VAR">disp</field>
</shadow>
</value>
<value name="I2CSUB">
<shadow type="variables_get">
<field name="VAR">i2c_extend</field>
</shadow>
</value>
</block>
</next>
</block>
<block type="display_tm1650_show_num">

View File

@@ -5272,11 +5272,16 @@
<field name="VAR">disp</field>
</shadow>
</value>
<!-- <value name="I2CSUB">
<shadow type="variables_get">
<field name="VAR">i2c_extend</field>
<value name="CLK">
<shadow type="pins_digital_pin">
<field name="PIN">3</field>
</shadow>
</value> -->
</value>
<value name="DIO">
<shadow type="pins_digital_pin">
<field name="PIN">4</field>
</shadow>
</value>
</block>
<block type="display_tm1650_show_num">

View File

@@ -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';
})();

View File

@@ -4131,4 +4131,5 @@ ZhHans.MIXLY_IMAGE_ACQUISITION = '图像采集';
ZhHans.MIXLY_JPG_base64_CODE= 'JPG的base64编码';
ZhHans.MIXLY_IMAGE_OF_FILE = '图像文件编码数据';
ZhHans.MIXLY_ENABLE_STATUS = '使能状态';
})();
ZhHans.MIXLY_MICROPHONE_AMPLIFICATION = '麦克风放大倍数';
})();

View File

@@ -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 = '麥克風放大倍數';
})();