diff --git a/boards/default_src/micropython/blocks/actuator_extern.js b/boards/default_src/micropython/blocks/actuator_extern.js index b5900224..8aab680c 100644 --- a/boards/default_src/micropython/blocks/actuator_extern.js +++ b/boards/default_src/micropython/blocks/actuator_extern.js @@ -510,29 +510,11 @@ export const actuator_use_uart_init = { .appendField(Blockly.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) .setCheck("var"); this.appendDummyInput("") - .appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.LISTS_SET_INDEX_INPUT_TO + 'SYN6288' + Blockly.Msg.MIXLY_AipSpeech_synthesis) - - this.setInputsInline(true); - this.setPreviousStatement(true, null); - this.setNextStatement(true, null); - this.setFieldValue("LTR308", "key"); - } -}; - -export const actuator_use_uart_init_player = { - init: function () { - this.setColour(ACTUATOR_EXTERN_HUE); - this.appendDummyInput("") - .appendField(Blockly.Msg.CONTROLS_FOR_INPUT_WITH + "uart") + .appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.LISTS_SET_INDEX_INPUT_TO) .appendField(new Blockly.FieldDropdown([ - ["uart1", "uart1"], - ["uart2", "uart2"] - ]), "key"); - this.appendValueInput('SUB') - .appendField(Blockly.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE) - .setCheck("var"); - this.appendDummyInput("") - .appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.LISTS_SET_INDEX_INPUT_TO + 'NS9300' + Blockly.Msg.MIXLY_MUSIC_PLAYER); + ['SYN6288' + Blockly.Msg.MIXLY_AipSpeech_synthesis,'SYN6288'], + ['NS9300' + Blockly.Msg.MIXLY_MUSIC_PLAYER,'NS9300'] + ]),'key2'); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); @@ -630,6 +612,7 @@ export const player_play_music = { this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); + this.setTooltip(Blockly.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP) } } diff --git a/boards/default_src/micropython/blocks/sensor_extern.js b/boards/default_src/micropython/blocks/sensor_extern.js index 0cfca1b3..4cfbb851 100644 --- a/boards/default_src/micropython/blocks/sensor_extern.js +++ b/boards/default_src/micropython/blocks/sensor_extern.js @@ -341,23 +341,24 @@ export const sensor_use_i2c_init = { this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.LISTS_SET_INDEX_INPUT_TO) .appendField(new Blockly.FieldDropdown([ - ["MPU9250", "MPU9250"], - ["BMP280", "BMP280"], - ["SHT20", "SHT20"], - ["ADXL345", "ADXL345"], - ["LTR308", "LTR308"], - ["LTR381RGB", "LTR381RGB"], - ["UCS12071","UCS12071"], - ["LTR390UV","LTR390UV"], - ["HP203X", "HP203X"], - ["SPL06_001","SPL06_001"], - ["SHTC3", "SHTC3"], - ["AHT21", "AHT21"], - ["VL53L0X", "VL53L0X"], - ["QMC5883L", "QMC5883L"], - ["MAX30102", "MAX30102"], - ["APDS9960", "APDS9960"], - ["RFID", "RFID"] + [Blockly.Msg.MIXLY_ESP32_EXTERN_LIGHT+"LTR-308-ALS", "LTR308"], + [Blockly.Msg.MIXLY_COLOR_SENSOR+"LTR-381-RGB", "LTR381RGB"], + [Blockly.Msg.MIXLY_COLOR_SENSOR+"UCS12071","UCS12071"], + [Blockly.Msg.MIXLY_EXTERN_LIGHTUV +"LTR390UV","LTR390UV"], + [Blockly.Msg.MIXLY_ALTITUDE_SENSOR+"HP203X", "HP203X"], + [Blockly.Msg.MIXLY_ALTITUDE_SENSOR+"SPL06_001","SPL06_001"], + [Blockly.Msg.MIXLY_ALTITUDE_SENSOR+"BMP280", "BMP280"], + [Blockly.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR + "SHTC3", "SHTC3"], + [Blockly.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR + "AHT21", "AHT21"], + [Blockly.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR + "SHT20", "SHT20"], + [Blockly.Msg.MIXLY_LASER_RANGE_SENSOR + "VL53L0X", "VL53L0X"], + [Blockly.Msg.MIXLY_GEOMAGNETIC_SENSOR + "QMC5883L", "QMC5883L"], + [Blockly.Msg.MIXLY_ESP32_MAX30102+"MAX30102", "MAX30102"], + [Blockly.Msg.HTML_COLOUR +"、"+ Blockly.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Blockly.Msg.MIXLY_NEXT+"、"+Blockly.Msg.MIXLY_ESP32_APDS9960+"APDS9960", "APDS9960"], + [Blockly.Msg.MIXLY_NINE_AXIS_SENSOR+"MPU9250", "MPU9250"], + [Blockly.Msg.MixGo_MPU9250+"ADXL345", "ADXL345"], + ["RFID", "RFID"], + [Blockly.Msg.MIXLY_RADAR_SENSOR+"CBR817", "CBR817"] ]), "key"); this.setInputsInline(true); this.setPreviousStatement(true, null); @@ -366,42 +367,6 @@ export const sensor_use_i2c_init = { } }; -export const radar_use_i2c_init = { - init: function () { - this.setColour(SENSOR_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 + Blockly.Msg.MIXLY_RADAR) - .setCheck("var"); - this.appendDummyInput("") - .appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.LISTS_SET_INDEX_INPUT_TO) - .appendField(new Blockly.FieldDropdown([ - ["CBR817", "CBR817"] - ]), "key"); - this.setInputsInline(true); - this.setPreviousStatement(true, null); - this.setNextStatement(true, null); - } -}; - -export const radar_set_DELAY_TIME = { - init: function () { - this.setColour(SENSOR_EXTERN_HUE); - this.appendValueInput('SUB') - .appendField(Blockly.Msg.MIXLY_RADAR) - .setCheck("var"); - this.appendDummyInput("") - .appendField(Blockly.Msg.LISTS_SET_INDEX_SET + Blockly.Msg.MIXlY_INTERACTION+Blockly.Msg.MIXLY_DELAY_TIME); - this.appendValueInput('VAR'); - this.setPreviousStatement(true); - this.setNextStatement(true); - this.setInputsInline(true); - this.setTooltip(Blockly.Msg.MIXLY_THRESHOLD_TOOLTIP); - } -}; - export const radar_set_DETECTION_THRESHOLD = { init: function () { this.setColour(SENSOR_EXTERN_HUE); @@ -409,12 +374,25 @@ export const radar_set_DETECTION_THRESHOLD = { .appendField(Blockly.Msg.MIXLY_RADAR) .setCheck("var"); this.appendDummyInput("") - .appendField(Blockly.Msg.LISTS_SET_INDEX_SET + Blockly.Msg.MIXlY_INTERACTION+Blockly.Msg.MIXLY_DETECTION_THRESHOLD) + .appendField(Blockly.Msg.LISTS_SET_INDEX_SET + Blockly.Msg.MIXlY_INTERACTION) + this.appendDummyInput() + .appendField(new Blockly.FieldDropdown([ + [Blockly.Msg.MIXLY_DETECTION_THRESHOLD,'threshold'], + [Blockly.Msg.MIXLY_DELAY_TIME+' ms','delay_ms'] + ]),"key") this.appendValueInput('VAR'); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); - this.setTooltip(Blockly.Msg.MIXLY_DELAY_TIME_RANGE); + var thisBlock = this; + this.setTooltip(function () { + var mode = thisBlock.getFieldValue('key'); + var TOOLTIPS = { + "threshold": Blockly.Msg.MIXLY_THRESHOLD_TOOLTIP, + "delay_ms": Blockly.Msg.MIXLY_DELAY_TIME_RANGE + }; + return TOOLTIPS[mode] + }); } }; diff --git a/boards/default_src/micropython/generators/actuator_extern.js b/boards/default_src/micropython/generators/actuator_extern.js index b1eabbd1..39c17eef 100644 --- a/boards/default_src/micropython/generators/actuator_extern.js +++ b/boards/default_src/micropython/generators/actuator_extern.js @@ -217,19 +217,19 @@ export const actuator_neopixel_rgb = function (_, generator) { } export const actuator_use_uart_init = function (_, generator) { - generator.definitions_['import_syn6288'] = 'import syn6288'; var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); - var code = v + '=syn6288.SYN6288(' + key + ')\n'; - return code; -} - -export const actuator_use_uart_init_player = function (_, generator) { - generator.definitions_['import_ns9300'] = 'import ns9300'; - var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); - var key = this.getFieldValue('key'); - var code = v + '=ns9300.NS9300(' + key + ')\n'; - return code; + var key2 = this.getFieldValue('key2'); + if (key2=='SYN6288'){ + generator.definitions_['import_syn6288'] = 'import syn6288'; + var code = v + '=syn6288.SYN6288(' + key + ')\n'; + return code; + }else if(key2=='NS9300'){ + generator.definitions_['import_ns9300'] = 'import ns9300'; + var code = v + '=ns9300.NS9300(' + key + ')\n'; + return code; + } + } export const player_whether_stop = function(_,generator){ @@ -256,7 +256,7 @@ export const player_set_volume = function(_,generator){ export const player_set_mode = function(_,generator){ var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); - var code = v +'.mode('+key+')'; + var code = v +'.mode('+key+')\n'; return code; } @@ -264,7 +264,7 @@ export const player_play_music = function(_,generator){ var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); var s = generator.valueToCode(this, 'song', generator.ORDER_ATOMIC); - var code = v +'.'+key+'('+s+')'; + var code = v +'.'+key+'('+s+')\n'; return code; } diff --git a/boards/default_src/micropython/generators/sensor_extern.js b/boards/default_src/micropython/generators/sensor_extern.js index b132742f..d83b5ce3 100644 --- a/boards/default_src/micropython/generators/sensor_extern.js +++ b/boards/default_src/micropython/generators/sensor_extern.js @@ -181,7 +181,7 @@ export const sensor_use_i2c_init = function (_, generator) { code = v + ' = ltr381rgb.LTR_381RGB(' + iv + ')\n'; } else if(key == 'UCS12071'){ generator.definitions_['import_ucs12071'] = 'import ucs12071'; - ode = v + ' = ucs12071.UCS1207(' + iv + ')\n'; + ode = v + ' = ucs12071.UCS12071(' + iv + ')\n'; } else if (key == 'LTR390UV'){ generator.definitions_['import_ltr390uv'] = 'import ltr390uv'; code = v + ' = ltr390uv.ALS_UVS(' + iv +')\n'; @@ -212,35 +212,25 @@ export const sensor_use_i2c_init = function (_, generator) { } else if (key == 'RFID') { generator.definitions_['import_rc522'] = 'import rc522'; code = v + ' = rc522.RC522(' + iv + ')\n'; - } - return code; -} - -export const radar_use_i2c_init = function (_, generator) { - var v = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); - var iv = generator.valueToCode(this, 'I2CSUB', generator.ORDER_ATOMIC); - generator.definitions_['import_machine'] = 'import machine'; - var key = this.getFieldValue('key'); - var code; - if (key == 'CBR817') { + }else if (key == 'CBR817') { generator.definitions_['import_cbr817'] = 'import cbr817'; code = v + ' = cbr817.' + key + "(" + iv + ')\n'; } return code; } -export const radar_set_DELAY_TIME = function (_, generator) { - var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); - var value = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); - var code = sub + '.delay_ms(' + value +')\n'; - return code; -} - export const radar_set_DETECTION_THRESHOLD = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var value = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC); - var code = sub + '.threshold(' + value +')\n'; - return code; + var key = this.getFieldValue('key'); + if(key=='threshold'){ + var code = sub + '.threshold(' + value +')\n'; + return code; + }else if(key=='delay_ms'){ + var code = sub + '.delay_ms(' + value +')\n'; + return code; + } + } export const interaction_whether_to_interaction = function(_,generator){ diff --git a/boards/default_src/micropython/origin/build/lib/ucs12071.py b/boards/default_src/micropython/origin/build/lib/ucs12071.py index ddca328d..303b94ef 100644 --- a/boards/default_src/micropython/origin/build/lib/ucs12071.py +++ b/boards/default_src/micropython/origin/build/lib/ucs12071.py @@ -17,7 +17,7 @@ UCS_CLS_DATA = const(0x1C) _GAINS_X = (1, 4, 8, 32, 96, 192) -class UCS1207: +class UCS12071: def __init__(self, i2c_bus, addr=0x38, gain=2): self._device = i2c_bus self._address = addr diff --git a/boards/default_src/micropython_esp32/template.xml b/boards/default_src/micropython_esp32/template.xml index 438696f8..72c29865 100644 --- a/boards/default_src/micropython_esp32/template.xml +++ b/boards/default_src/micropython_esp32/template.xml @@ -4125,6 +4125,32 @@ + + + + radar + + + + + 5000 + + + + + + + radar + + + + + 500 + + + + + @@ -4449,6 +4475,52 @@ + + + + player + + + + + + + player + + + + + + + player + + + + + 20 + + + + + + + player + + + + + + + player + + + + + mixly*.mp3 + + + + diff --git a/boards/default_src/micropython_esp32c2/template.xml b/boards/default_src/micropython_esp32c2/template.xml index a10b9d65..9bc4aa92 100644 --- a/boards/default_src/micropython_esp32c2/template.xml +++ b/boards/default_src/micropython_esp32c2/template.xml @@ -3987,42 +3987,6 @@ - - - - i2c - - - - - 1 - - - - - 2 - - - - - 100000 - - - - - - - radar - - - - - i2c - - - - - @@ -4382,27 +4346,6 @@ - - - - 1 - - - - - 2 - - - - - - - player - - - - - @@ -4444,7 +4387,7 @@ - 0 + mixly*.mp3 diff --git a/boards/default_src/micropython_esp32c3/template.xml b/boards/default_src/micropython_esp32c3/template.xml index f48d234d..a18c5781 100644 --- a/boards/default_src/micropython_esp32c3/template.xml +++ b/boards/default_src/micropython_esp32c3/template.xml @@ -3925,6 +3925,32 @@ + + + + radar + + + + + 5000 + + + + + + + radar + + + + + 500 + + + + + @@ -4258,6 +4284,51 @@ + + + + player + + + + + + + player + + + + + + + player + + + + + 20 + + + + + + + player + + + + + + + player + + + + + mixly*.mp3 + + + diff --git a/boards/default_src/micropython_esp32s2/template.xml b/boards/default_src/micropython_esp32s2/template.xml index 918be4b7..3d7cfbd2 100644 --- a/boards/default_src/micropython_esp32s2/template.xml +++ b/boards/default_src/micropython_esp32s2/template.xml @@ -3718,6 +3718,32 @@ + + + + radar + + + + + 5000 + + + + + + + radar + + + + + 500 + + + + + @@ -4041,6 +4067,51 @@ + + + + player + + + + + + + player + + + + + + + player + + + + + 20 + + + + + + + player + + + + + + + player + + + + + mixly*.mp3 + + + diff --git a/boards/default_src/micropython_esp32s3/template.xml b/boards/default_src/micropython_esp32s3/template.xml index e38e1c99..e055d288 100644 --- a/boards/default_src/micropython_esp32s3/template.xml +++ b/boards/default_src/micropython_esp32s3/template.xml @@ -4357,6 +4357,32 @@ + + + + radar + + + + + 5000 + + + + + + + radar + + + + + 500 + + + + + @@ -4680,6 +4706,51 @@ + + + + player + + + + + + + player + + + + + + + player + + + + + 20 + + + + + + + player + + + + + + + player + + + + + mixly*.mp3 + + + diff --git a/common/msg/blockly/en.js b/common/msg/blockly/en.js index 1ed2e2e6..ad1f5f98 100644 --- a/common/msg/blockly/en.js +++ b/common/msg/blockly/en.js @@ -3777,4 +3777,15 @@ En.MIXLY_PLAYER_DIRECTORY_LOOP = 'directory loop'; En.MIXLY_PLAYER_SINGLE_STOP = 'single stop'; En.MIXLY_PLAYER_SEQUENTIAL_PLAY ='sequential play'; En.MIXLY_PLAYER_INSERT_MUSIC ='interjection'; +En.MIXLY_COLOR_SENSOR = 'color sensor'; +En.MIXLY_ALTITUDE_SENSOR = 'air pressure sensor'; +En.MIXLY_TEMP_AND_HUMIDITY_SENSOR = 'temperature and humidity sensor'; +En.MIXLY_LASER_RANGE_SENSOR = 'laser ranging sensor'; +En.MIXLY_GEOMAGNETIC_SENSOR = 'geomagnetic sensor'; +En.MIXLY_ENVIRONMENT_LIGHT = 'environment light'; +En.MIXLY_NEXT = 'approach'; +En.MIXLY_RADIO_FREQUENCY_READER = "radio frequency reader"; +En.MIXLY_NINE_AXIS_SENSOR ='nine-axis sensor'; +En.MIXLY_RADAR_SENSOR = 'microwave radar sensor'; +En.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP = 'Track input parameter:int type used to denote a song track(The sequence of tracks is the first to be placed on the USB flash drive.); str type used to represent the short file name of the song(Default mixly*.mp3, does not support Chinese, can be * omitted)'; })(); diff --git a/common/msg/blockly/zh-hans.js b/common/msg/blockly/zh-hans.js index a2a06d08..bf4926ee 100644 --- a/common/msg/blockly/zh-hans.js +++ b/common/msg/blockly/zh-hans.js @@ -3930,4 +3930,15 @@ ZhHans.MIXLY_PLAYER_DIRECTORY_LOOP = '目录循环'; ZhHans.MIXLY_PLAYER_SINGLE_STOP = '单曲停止'; ZhHans.MIXLY_PLAYER_SEQUENTIAL_PLAY ='顺序播放'; ZhHans.MIXLY_PLAYER_INSERT_MUSIC ='插播歌曲'; +ZhHans.MIXLY_COLOR_SENSOR = '颜色传感器'; +ZhHans.MIXLY_ALTITUDE_SENSOR = '气压传感器'; +ZhHans.MIXLY_TEMP_AND_HUMIDITY_SENSOR = '温湿度传感器'; +ZhHans.MIXLY_LASER_RANGE_SENSOR = '激光测距传感器'; +ZhHans.MIXLY_GEOMAGNETIC_SENSOR = '地磁传感器'; +ZhHans.MIXLY_ENVIRONMENT_LIGHT = '环境光'; +ZhHans.MIXLY_NEXT = '接近'; +ZhHans.MIXLY_RADIO_FREQUENCY_READER = "无线射频读写器"; +ZhHans.MIXLY_NINE_AXIS_SENSOR ='九轴传感器'; +ZhHans.MIXLY_RADAR_SENSOR = '微波雷达传感器'; +ZhHans.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP = '曲目输入参数:int类型用来表示歌曲曲目(曲目顺序为放进去U盘的先后), str类型用来表示歌曲短文件名(默认mixly*.mp3,不支持中文,可用*省略)'; })(); \ No newline at end of file diff --git a/common/msg/blockly/zh-hant.js b/common/msg/blockly/zh-hant.js index 756b8ddb..c4ec5977 100644 --- a/common/msg/blockly/zh-hant.js +++ b/common/msg/blockly/zh-hant.js @@ -3780,4 +3780,15 @@ ZhHant.MIXLY_PLAYER_DIRECTORY_LOOP = '目錄循環'; ZhHant.MIXLY_PLAYER_SINGLE_STOP = '單曲停止'; ZhHant.MIXLY_PLAYER_SEQUENTIAL_PLAY ='順序播放'; ZhHant.MIXLY_PLAYER_INSERT_MUSIC ='插播歌曲'; +ZhHans.MIXLY_COLOR_SENSOR = '顏色傳感器'; +ZhHans.MIXLY_ALTITUDE_SENSOR = '氣壓傳感器'; +ZhHans.MIXLY_TEMP_AND_HUMIDITY_SENSOR = '溫濕度傳感器'; +ZhHans.MIXLY_LASER_RANGE_SENSOR = '激光測距傳感器'; +ZhHans.MIXLY_GEOMAGNETIC_SENSOR = '地磁傳感器'; +ZhHans.MIXLY_ENVIRONMENT_LIGHT = '環境光'; +ZhHans.MIXLY_NEXT = '接近'; +ZhHans.MIXLY_RADIO_FREQUENCY_READER = "無線頻射讀寫器"; +ZhHans.MIXLY_NINE_AXIS_SENSOR ='九軸傳感器'; +ZhHans.MIXLY_RADAR_SENSOR = '微波雷達傳感器'; +ZhHans.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP = '曲目輸入參數:int類型用來表示歌曲曲目(曲目順序為放進去U盤的先後), str類型用來表示歌曲短文件名(默認mixly*.mp3,不支持中文,可用*省略)'; })(); \ No newline at end of file