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