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)'; +})();