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