调整S3_generic,增加外接TVOC传感器

This commit is contained in:
Irene-Maxine
2025-06-05 09:36:30 +08:00
parent b92b3f550a
commit 0f2b243b20
6 changed files with 51 additions and 14 deletions

View File

@@ -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 () {

View File

@@ -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]