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