From ee8605b9867d519f49b82c9f780f0eb063c27d4f Mon Sep 17 00:00:00 2001 From: Irene-Maxine <114802521+Irene-Maxine@users.noreply.github.com> Date: Fri, 18 Oct 2024 23:08:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=A4=96=E6=8E=A5=E4=BC=A0?= =?UTF-8?q?=E6=84=9F=E5=99=A8ucs12071\spl06=5F001?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../micropython/blocks/sensor_extern.js | 35 +++++++++++++++++++ .../micropython/generators/sensor_extern.js | 27 ++++++++++++++ .../micropython_esp32c2/template.xml | 14 ++++++++ common/msg/blockly/en.js | 4 ++- common/msg/blockly/zh-hans.js | 2 ++ common/msg/blockly/zh-hant.js | 2 ++ 6 files changed, 83 insertions(+), 1 deletion(-) diff --git a/boards/default_src/micropython/blocks/sensor_extern.js b/boards/default_src/micropython/blocks/sensor_extern.js index b5b3858f..881c9c7d 100644 --- a/boards/default_src/micropython/blocks/sensor_extern.js +++ b/boards/default_src/micropython/blocks/sensor_extern.js @@ -436,6 +436,24 @@ export const sensor_ltr381_extern = { } }; +export const sensor_ucs12071_extern = { + init: function () { + this.setColour(SENSOR_EXTERN_HUE); + this.appendValueInput('SUB') + .appendField(Blockly.Msg.HTML_COLOUR + Blockly.Msg.MSG.catSensor + " UCS12071") + .setCheck("var"); + this.appendDummyInput("") + .appendField(new Blockly.FieldDropdown([ + [Blockly.Msg.MIXLY_GET +'RGB'+ Blockly.Msg.HTML_COLOUR, "0"], + [Blockly.Msg.MIXLY_GET + Blockly.Msg.MIXLY_RGB_RAW, "1"], + [Blockly.Msg.MIXLY_GET_ENV_LIGHT + Blockly.Msg.MIXLY_BRIGHTNESS, "2"], + [Blockly.Msg.GET_IR_STRENGTH+Blockly.Msg.MIXLY_BRIGHTNESS,"3"] + ]), "key"); + this.setOutput(true, Number); + this.setInputsInline(true); + } +}; + export const sensor_LTR390UV_extern = { init: function () { this.setColour(SENSOR_EXTERN_HUE); @@ -534,6 +552,23 @@ export const sensor_hp203_extern = { } }; +export const sensor_spl06_001_extern = { + init: function () { + this.setColour(SENSOR_EXTERN_HUE); + this.appendValueInput('SUB') + .appendField(Blockly.Msg.MIXLY_Altitude + Blockly.Msg.MSG.catSensor + " SPL06_001") + .setCheck("var"); + this.appendDummyInput("") + .appendField(new Blockly.FieldDropdown([ + [Blockly.Msg.MIXLY_GETPRESSURE, "pressure()"], + [Blockly.Msg.MIXLY_GETTEMPERATUE, "temperature()"], + [Blockly.Msg.MIXLY_GET_ALTITUDE, "altitude()"], + ]), "key"); + this.setOutput(true, Number); + this.setInputsInline(true); + } +}; + export const sensor_QMC5883L_extern = { init: function () { this.setColour(SENSOR_EXTERN_HUE); diff --git a/boards/default_src/micropython/generators/sensor_extern.js b/boards/default_src/micropython/generators/sensor_extern.js index 82cc1bd6..d7f92d74 100644 --- a/boards/default_src/micropython/generators/sensor_extern.js +++ b/boards/default_src/micropython/generators/sensor_extern.js @@ -241,6 +241,14 @@ export const sensor_hp203_extern = function (_, generator) { return [code, generator.ORDER_ATOMIC]; } +export const sensor_spl06_001_extern = function (_, generator) { + var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); + var key = this.getFieldValue('key'); + generator.definitions_['import_spl06_001'] = 'import spl06_001'; + var code = sub + '.' + key; + return [code, generator.ORDER_ATOMIC]; +} + export const sensor_ltr381_extern = function (_, generator) { var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); var key = this.getFieldValue('key'); @@ -249,6 +257,25 @@ export const sensor_ltr381_extern = function (_, generator) { return [code, generator.ORDER_ATOMIC]; } +export const sensor_ucs12071_extern = function (_, generator) { + var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC); + var key = this.getFieldValue('key'); + generator.definitions_['import_ucs12071'] = 'import ucs12071'; + if (key == '0'){ + var code = sub + '.color()'; + } + else if(key == '1'){ + var code = sub + '.color_raw()'; + } + else if(key == '2'){ + var code = sub + '.als()'; + } + else{ + var code = sub + '.ir()'; + } + return [code, generator.ORDER_ATOMIC]; +} + export const sensor_LTR390UV_extern = function (_, generator) { generator.definitions_['import_machine'] = 'import machine'; generator.definitions_['import_time'] = 'import time'; diff --git a/boards/default_src/micropython_esp32c2/template.xml b/boards/default_src/micropython_esp32c2/template.xml index bdb16673..52462617 100644 --- a/boards/default_src/micropython_esp32c2/template.xml +++ b/boards/default_src/micropython_esp32c2/template.xml @@ -3604,6 +3604,13 @@ + + + + xsensor + + + @@ -3625,6 +3632,13 @@ + + + + xsensor + + + diff --git a/common/msg/blockly/en.js b/common/msg/blockly/en.js index c8ddd9d5..aae6faf9 100644 --- a/common/msg/blockly/en.js +++ b/common/msg/blockly/en.js @@ -3758,4 +3758,6 @@ En.MIXLY_TIMESTAMP_TO_DATA ="convert to data"; En.MIXLY_TO_INDEX_SEQUENCE = "sequence number and content combine into an index sequence"; En.MIXLY_INDEX = "index"; En.MIXLY_TOTO_INDEX_SEQUENC_TOOLTIP = "Combine all the items and ordinals of the list into an index sequence, for example (0,'A') into one index sequence"; -})(); \ No newline at end of file +En.MIXLY_RGB_RAW = 'RGB color primitive value'; +En.GET_IR_STRENGTH = 'get Infrared light'; +})(); diff --git a/common/msg/blockly/zh-hans.js b/common/msg/blockly/zh-hans.js index fa7e5212..b86efae2 100644 --- a/common/msg/blockly/zh-hans.js +++ b/common/msg/blockly/zh-hans.js @@ -3911,4 +3911,6 @@ ZhHans.MIXLY_PRODUCT = "生成"; ZhHans.MIXLY_GENERATE_CARTESIAN_PRODUCT = "笛卡尔积"; ZhHans.MIXLY_EVERY_PER_ELEPER_ELEMENT = "每个元素重复"; ZhHans.MIXLY_EMPTY_REMINDER = "至少需要一个可迭代对象"; +ZhHans.MIXLY_RGB_RAW = 'RGB颜色原始值'; +ZhHans.GET_IR_STRENGTH = '获取红外光'; })(); \ No newline at end of file diff --git a/common/msg/blockly/zh-hant.js b/common/msg/blockly/zh-hant.js index 06d1a120..0432c171 100644 --- a/common/msg/blockly/zh-hant.js +++ b/common/msg/blockly/zh-hant.js @@ -3761,4 +3761,6 @@ ZhHant.MIXLY_TIMESTAMP_TO_DATA ="轉化爲日期"; ZhHant.MIXLY_TO_INDEX_SEQUENCE = "的序號和內容組合為索引序列"; ZhHant.MIXLY_INDEX = "序號"; ZhHant.MIXLY_TOTO_INDEX_SEQUENC_TOOLTIP = "將列表的所有項和序號組合為索引序列,例如(0,'A')為一個索引序列"; +ZhHant.MIXLY_RGB_RAW = 'RGB顏色原始值'; +ZhHant.GET_IR_STRENGTH = '獲取紅外光'; })(); \ No newline at end of file