From 0f2b243b20d3ae7f2c44cd100516d0486514d1bb Mon Sep 17 00:00:00 2001
From: Irene-Maxine <114802521+Irene-Maxine@users.noreply.github.com>
Date: Thu, 5 Jun 2025 09:36:30 +0800
Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4S3=5Fgeneric,=E5=A2=9E?=
=?UTF-8?q?=E5=8A=A0=E5=A4=96=E6=8E=A5TVOC=E4=BC=A0=E6=84=9F=E5=99=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../micropython/blocks/sensor_extern.js | 16 ++++++++++-
.../micropython/generators/sensor_extern.js | 14 ++++++++--
.../micropython_esp32s3/template.xml | 27 ++++++++++++-------
common/msg/blockly/en.js | 2 ++
common/msg/blockly/zh-hans.js | 2 ++
common/msg/blockly/zh-hant.js | 4 ++-
6 files changed, 51 insertions(+), 14 deletions(-)
diff --git a/boards/default_src/micropython/blocks/sensor_extern.js b/boards/default_src/micropython/blocks/sensor_extern.js
index 12828134..8eac321a 100644
--- a/boards/default_src/micropython/blocks/sensor_extern.js
+++ b/boards/default_src/micropython/blocks/sensor_extern.js
@@ -1782,7 +1782,8 @@ export const sensor_use_uart_init = {
.appendField(Blockly.Msg.MIXLY_SETUP + Blockly.Msg.LISTS_SET_INDEX_INPUT_TO)
.appendField(new Blockly.FieldDropdown([
[Blockly.Msg.MIXLY_PM25_SENSOR, "PM"],
- [Blockly.Msg.MIXLY_GNSS_SENSOR, "GNSS"]
+ [Blockly.Msg.MIXLY_GNSS_SENSOR, "GNSS"],
+ [Blockly.Msg.MIXLY_TVOC_CO2_SENSOR, "TVOC"]
]), "sensor");
this.setInputsInline(true);
this.setPreviousStatement(true, null);
@@ -1851,6 +1852,19 @@ export const gnss_get_data = {
}
};
+export const tvoc_get_data = {
+ init: function () {
+ this.setColour(SENSOR_EXTERN_HUE);
+ this.appendValueInput('SUB')
+ .appendField(Blockly.Msg.MIXLY_TVOC_CO2_SENSOR)
+ .setCheck("var");
+ this.appendDummyInput("")
+ .appendField(Blockly.Msg.MIXLY_TVOC_CO2_SENSOR_GRT_DATA)
+ this.setOutput(true, Number);
+ this.setInputsInline(true);
+ }
+};
+
//mixbot/feiyi extern below:
export const robot_button_extern_get_value = {
init: function () {
diff --git a/boards/default_src/micropython/generators/sensor_extern.js b/boards/default_src/micropython/generators/sensor_extern.js
index d6dd28ee..c05d6fc1 100644
--- a/boards/default_src/micropython/generators/sensor_extern.js
+++ b/boards/default_src/micropython/generators/sensor_extern.js
@@ -719,10 +719,13 @@ export const sensor_use_uart_init = function (_, generator) {
var code = ''
if (s == 'PM') {
generator.definitions_['import_pm2_5'] = 'import pm2_5';
- code = v + '=pm2_5.PM2_5(' + key + ')\n';
+ code = v + '= pm2_5.PM2_5(' + key + ')\n';
} else if (s == 'GNSS') {
generator.definitions_['import_gnss'] = 'import gnss';
- code = v + '=gnss.NMEA0183(' + key + ')\n';
+ code = v + '= gnss.NMEA0183(' + key + ')\n';
+ } else if (s == 'TVOC'){
+ generator.definitions_['import_tvoc07s'] = 'import tvoc07s';
+ code = v + '= tvoc07s.TVOC(' + key + ')\n';
}
return code;
}
@@ -750,6 +753,13 @@ export const gnss_have_data = function (_, generator) {
return [code, generator.ORDER_ATOMIC];
}
+export const tvoc_get_data = function (_, generator) {
+ var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
+ generator.definitions_['import_tvoc07s'] = 'import tvoc07s';
+ var code = sub + '.read()';
+ return [code, generator.ORDER_ATOMIC];
+}
+
//mixbot/feiyi extern below:
export const robot_button_extern_get_value = function (_, generator) {
var version = Boards.getSelectedBoardKey().split(':')[2]
diff --git a/boards/default_src/micropython_esp32s3/template.xml b/boards/default_src/micropython_esp32s3/template.xml
index fe5b8152..349d21c4 100644
--- a/boards/default_src/micropython_esp32s3/template.xml
+++ b/boards/default_src/micropython_esp32s3/template.xml
@@ -2585,7 +2585,7 @@
-
+
@@ -3102,7 +3102,7 @@
-
+
@@ -3893,7 +3893,7 @@
-
+
@@ -4462,6 +4462,13 @@
+
+
+
+ zsensor
+
+
+
@@ -4559,7 +4566,7 @@
-
+
@@ -4994,7 +5001,7 @@
-
+
@@ -6003,7 +6010,7 @@
-
+
@@ -6422,7 +6429,7 @@
-
+
@@ -6788,7 +6795,7 @@
-
+
@@ -6954,7 +6961,7 @@
-
+
@@ -7328,7 +7335,7 @@
-->
-
+
response
diff --git a/common/msg/blockly/en.js b/common/msg/blockly/en.js
index 18a6d3ea..b274866f 100644
--- a/common/msg/blockly/en.js
+++ b/common/msg/blockly/en.js
@@ -3967,4 +3967,6 @@ En.MIXLY_DETAILED = 'Detailed';
En.MIXLY_line_tube_foot = 'line tube foot';
En.MIXLY_column_tube_foot = 'column tube foot';
En.MIXLY_DEFINE_KEYBOARDS= 'define the keyboard';
+En.MIXLY_TVOC_CO2_SENSOR = 'TVOC,formaldehyde and carbon dioxide sensors';
+En.MIXLY_TVOC_CO2_SENSOR_GRT_DATA = 'Obtain the concentrations of TVOC(mg/m³), formaldehyde (mg/m³), and carbon dioxide (ppm)';
})();
diff --git a/common/msg/blockly/zh-hans.js b/common/msg/blockly/zh-hans.js
index f38a0ac5..75cf2c44 100644
--- a/common/msg/blockly/zh-hans.js
+++ b/common/msg/blockly/zh-hans.js
@@ -4126,4 +4126,6 @@ ZhHans.MIXLY_DETAILED = '详细地';
ZhHans.MIXLY_line_tube_foot = '行管脚';
ZhHans.MIXLY_column_tube_foot = '列管脚';
ZhHans.MIXLY_DEFINE_KEYBOARDS= '定义键盘';
+ZhHans.MIXLY_TVOC_CO2_SENSOR = 'TVOC、甲醛、二氧化碳传感器';
+ZhHans.MIXLY_TVOC_CO2_SENSOR_GRT_DATA = '获取TVOC(mg/m3) 、甲醛(mg/m3)、二氧化碳的浓度(ppm)';
})();
\ No newline at end of file
diff --git a/common/msg/blockly/zh-hant.js b/common/msg/blockly/zh-hant.js
index 00344fa6..945d740b 100644
--- a/common/msg/blockly/zh-hant.js
+++ b/common/msg/blockly/zh-hant.js
@@ -4121,4 +4121,6 @@ ZhHant.MIXLY_DETAILED = '詳細地';
ZhHant.MIXLY_line_tube_foot = '行管腳';
ZhHant.MIXLY_column_tube_foot = '列管腳';
ZhHant.MIXLY_DEFINE_KEYBOARDS= '定義鍵盤';
-})();
\ No newline at end of file
+ZhHant.MIXLY_TVOC_CO2_SENSOR = 'TVOC、甲醛、二氧化碳傳感器';
+ZhHant.MIXLY_TVOC_CO2_SENSOR_GRT_DATA = '獲取TVOC(mg/m3) 、甲醛(mg/m3)、二氧化碳的濃度(ppm)';
+})();