update gps code

make gps blocks to osem block compatible
This commit is contained in:
Mario Pesch
2021-09-10 09:53:35 +02:00
parent 9ed49f2972
commit 0e0dbed77a
3 changed files with 554 additions and 388 deletions
+230 -145
View File
@@ -1,110 +1,153 @@
import Blockly from 'blockly';
import { getColour } from '../helpers/colour'
import * as Types from '../helpers/types'
import { selectedBoard } from '../helpers/board'
import Blockly from "blockly";
import { getColour } from "../helpers/colour";
import * as Types from "../helpers/types";
import { selectedBoard } from "../helpers/board";
/**
* HDC1080 Temperature and Humidity Sensor
*
*
*/
Blockly.Blocks['sensebox_sensor_temp_hum'] = {
Blockly.Blocks["sensebox_sensor_temp_hum"] = {
init: function () {
this.appendDummyInput()
.appendField(Blockly.Msg.senseBox_temp_hum);
this.appendDummyInput().appendField(Blockly.Msg.senseBox_temp_hum);
this.appendDummyInput()
.setAlign(Blockly.ALIGN_RIGHT)
.appendField(Blockly.Msg.senseBox_value)
.appendField(new Blockly.FieldDropdown([[Blockly.Msg.senseBox_temp, "Temperature"], [Blockly.Msg.senseBox_hum, "Humidity"]]), "NAME");
.appendField(
new Blockly.FieldDropdown([
[Blockly.Msg.senseBox_temp, "Temperature"],
[Blockly.Msg.senseBox_hum, "Humidity"],
]),
"NAME"
);
this.setOutput(true, Types.DECIMAL.typeName);
this.setColour(getColour().sensebox);
this.setTooltip(Blockly.Msg.senseBox_temp_hum_tooltip);
this.setHelpUrl(Blockly.Msg.senseBox_temp_hum_helpurl);
}
},
};
/**
* VEML6070 and TSL4513
*
* VEML6070 and TSL4513
*
*/
Blockly.Blocks['sensebox_sensor_uv_light'] = {
Blockly.Blocks["sensebox_sensor_uv_light"] = {
init: function () {
this.appendDummyInput()
.appendField(Blockly.Msg.senseBox_uv_light);
this.appendDummyInput().appendField(Blockly.Msg.senseBox_uv_light);
this.appendDummyInput()
.setAlign(Blockly.ALIGN_RIGHT)
.appendField(Blockly.Msg.senseBox_value)
.appendField(new Blockly.FieldDropdown([[Blockly.Msg.senseBox_light, "Illuminance"], [Blockly.Msg.senseBox_uv, "UvIntensity"]]), "NAME");
.appendField(
new Blockly.FieldDropdown([
[Blockly.Msg.senseBox_light, "Illuminance"],
[Blockly.Msg.senseBox_uv, "UvIntensity"],
]),
"NAME"
);
this.setOutput(true, Types.DECIMAL.typeName);
this.setColour(getColour().sensebox);
this.setTooltip(Blockly.Msg.senseBox_uv_light_tooltip);
this.setHelpUrl(Blockly.Msg.senseBox_uv_light_helpurl);
}
},
};
/*
BMX055 Three differen Blocks for Accelerometer, Gyroscope, Compass
*/
Blockly.Blocks['sensebox_sensor_bmx055_accelerometer'] = {
Blockly.Blocks["sensebox_sensor_bmx055_accelerometer"] = {
init: function () {
this.appendDummyInput()
.appendField(Blockly.Msg.senseBox_bmx055_accelerometer);
this.appendDummyInput().appendField(
Blockly.Msg.senseBox_bmx055_accelerometer
);
this.appendDummyInput()
.setAlign(Blockly.ALIGN_LEFT)
.appendField(Blockly.Msg.senseBox_bmx055_accelerometer_direction)
.appendField(new Blockly.FieldDropdown([[Blockly.Msg.senseBox_bmx055_accelerometer_direction_x, "X"], [Blockly.Msg.senseBox_bmx055_accelerometer_direction_y, "Y"], [Blockly.Msg.senseBox_bmx055_accelerometer_direction_z, "Z"], [Blockly.Msg.senseBox_bmx055_accelerometer_direction_total, "Total"]]), "VALUE");
.appendField(
new Blockly.FieldDropdown([
[Blockly.Msg.senseBox_bmx055_accelerometer_direction_x, "X"],
[Blockly.Msg.senseBox_bmx055_accelerometer_direction_y, "Y"],
[Blockly.Msg.senseBox_bmx055_accelerometer_direction_z, "Z"],
[Blockly.Msg.senseBox_bmx055_accelerometer_direction_total, "Total"],
]),
"VALUE"
);
this.appendDummyInput()
.setAlign(Blockly.ALIGN_LEFT)
.appendField(Blockly.Msg.senseBox_bmx055_accelerometer_range)
.appendField(new Blockly.FieldDropdown([[Blockly.Msg.senseBox_bmx055_accelerometer_range_2g, "0x3"], [Blockly.Msg.senseBox_bmx055_accelerometer_range_4g, "0x5"], [Blockly.Msg.senseBox_bmx055_accelerometer_range_8g, "0x8"], [Blockly.Msg.senseBox_bmx055_accelerometer_range_16g, "0x0C"]]), "RANGE");
.appendField(
new Blockly.FieldDropdown([
[Blockly.Msg.senseBox_bmx055_accelerometer_range_2g, "0x3"],
[Blockly.Msg.senseBox_bmx055_accelerometer_range_4g, "0x5"],
[Blockly.Msg.senseBox_bmx055_accelerometer_range_8g, "0x8"],
[Blockly.Msg.senseBox_bmx055_accelerometer_range_16g, "0x0C"],
]),
"RANGE"
);
this.setOutput(true, Types.DECIMAL.typeName);
this.setColour(getColour().sensebox);
this.setTooltip(Blockly.Msg.senseBox_bmx055_accelerometer_tooltip);
this.setHelpUrl(Blockly.Msg.senseBox_bmx055_helpurl);
}
},
};
/**
* SDS011 Fine Particular Matter Sensor
*
*
*/
Blockly.Blocks['sensebox_sensor_sds011'] = {
Blockly.Blocks["sensebox_sensor_sds011"] = {
init: function () {
this.appendDummyInput()
.appendField(Blockly.Msg.senseBox_sds011);
this.appendDummyInput().appendField(Blockly.Msg.senseBox_sds011);
this.appendDummyInput()
.setAlign(Blockly.ALIGN_RIGHT)
.appendField(Blockly.Msg.senseBox_value)
.appendField(new Blockly.FieldDropdown([[Blockly.Msg.senseBox_sds011_pm25, "Pm25"], [Blockly.Msg.senseBox_sds011_pm10, "Pm10"]]), "NAME")
.appendField(
new Blockly.FieldDropdown([
[Blockly.Msg.senseBox_sds011_pm25, "Pm25"],
[Blockly.Msg.senseBox_sds011_pm10, "Pm10"],
]),
"NAME"
)
.appendField(Blockly.Msg.senseBox_sds011_dimension)
.appendField(new Blockly.FieldDropdown([[Blockly.Msg.senseBox_sds011_serial1, "Serial1"], [Blockly.Msg.senseBox_sds011_serial2, "Serial2"]]), "SERIAL");
.appendField(
new Blockly.FieldDropdown([
[Blockly.Msg.senseBox_sds011_serial1, "Serial1"],
[Blockly.Msg.senseBox_sds011_serial2, "Serial2"],
]),
"SERIAL"
);
this.setOutput(true, Types.DECIMAL.typeName);
this.setColour(getColour().sensebox);
this.setTooltip(Blockly.Msg.senseBox_sds011_tooltip);
this.setHelpUrl(Blockly.Msg.senseBox_sds011_helpurl);
}
},
};
/**
* BMP280 Pressure Sensor
*
*
*/
Blockly.Blocks['sensebox_sensor_pressure'] = {
Blockly.Blocks["sensebox_sensor_pressure"] = {
init: function () {
var dropdownOptions = [[Blockly.Msg.senseBox_pressure, "Pressure"], [Blockly.Msg.senseBox_temp, "Temperature"], [Blockly.Msg.senseBox_gps_alt, "Altitude"]];
var dropdown = new Blockly.FieldDropdown(dropdownOptions, function (option) {
var input = (option === 'Pressure') || (option === 'Temperature') || (option === 'Altitude');
var dropdownOptions = [
[Blockly.Msg.senseBox_pressure, "Pressure"],
[Blockly.Msg.senseBox_temp, "Temperature"],
[Blockly.Msg.senseBox_gps_alt, "Altitude"],
];
var dropdown = new Blockly.FieldDropdown(dropdownOptions, function (
option
) {
var input =
option === "Pressure" ||
option === "Temperature" ||
option === "Altitude";
this.sourceBlock_.updateShape_(input);
});
this.appendDummyInput()
.appendField(Blockly.Msg.senseBox_pressure_sensor);
this.appendDummyInput().appendField(Blockly.Msg.senseBox_pressure_sensor);
this.appendDummyInput()
.setAlign(Blockly.ALIGN_RIGHT)
.appendField(Blockly.Msg.senseBox_value)
@@ -121,8 +164,7 @@ Blockly.Blocks['sensebox_sensor_pressure'] = {
*/
domToMutation: function (xmlElement) {
(xmlElement.getAttribute('port'));
xmlElement.getAttribute("port");
},
/**
* Create XML to represent number of pins selection.
@@ -130,10 +172,10 @@ Blockly.Blocks['sensebox_sensor_pressure'] = {
* @this Blockly.Block
*/
mutationToDom: function () {
var container = document.createElement('mutation');
var input = this.getFieldValue('NAME');
var container = document.createElement("mutation");
var input = this.getFieldValue("NAME");
this.updateShape_(input);
container.setAttribute('NAME', input);
container.setAttribute("NAME", input);
return container;
},
/**
@@ -143,58 +185,70 @@ Blockly.Blocks['sensebox_sensor_pressure'] = {
* @this Blockly.Block
*/
updateShape_: function () {
var extraFieldExist = this.getFieldValue('referencePressure');
var input = this.getFieldValue('NAME');
if (input === 'Altitude' && extraFieldExist === null) {
this.appendDummyInput('extraField')
var extraFieldExist = this.getFieldValue("referencePressure");
var input = this.getFieldValue("NAME");
if (input === "Altitude" && extraFieldExist === null) {
this.appendDummyInput("extraField")
.setAlign(Blockly.ALIGN_RIGHT)
.appendField(Blockly.Msg.senseBox_pressure_referencePressure)
.appendField(new Blockly.FieldTextInput("1013"), "referencePressure")
.appendField(Blockly.Msg.senseBox_pressure_referencePressure_dim);
}
if ((input === 'Pressure' || input === 'Temperature') && extraFieldExist !== null) {
this.removeInput('extraField');
if (
(input === "Pressure" || input === "Temperature") &&
extraFieldExist !== null
) {
this.removeInput("extraField");
}
}
},
};
/**
* BME680 Environmental Sensor
*
*
*/
Blockly.Blocks['sensebox_sensor_bme680_bsec'] = {
Blockly.Blocks["sensebox_sensor_bme680_bsec"] = {
init: function () {
var dropdownOptions = [[Blockly.Msg.senseBox_temp, "temperature"], [Blockly.Msg.senseBox_hum, "humidity"], [Blockly.Msg.senseBox_pressure, "pressure"], [Blockly.Msg.senseBox_bme_iaq, "IAQ"], [Blockly.Msg.senseBox_bme_iaq_accuracy, "IAQAccuracy"], [Blockly.Msg.senseBox_bme_co2, "CO2"], [Blockly.Msg.senseBox_bme_breatheVocEquivalent, "breathVocEquivalent"]];
this.appendDummyInput()
.appendField(Blockly.Msg.senseBox_bme680);
var dropdownOptions = [
[Blockly.Msg.senseBox_temp, "temperature"],
[Blockly.Msg.senseBox_hum, "humidity"],
[Blockly.Msg.senseBox_pressure, "pressure"],
[Blockly.Msg.senseBox_bme_iaq, "IAQ"],
[Blockly.Msg.senseBox_bme_iaq_accuracy, "IAQAccuracy"],
[Blockly.Msg.senseBox_bme_co2, "CO2"],
[Blockly.Msg.senseBox_bme_breatheVocEquivalent, "breathVocEquivalent"],
];
this.appendDummyInput().appendField(Blockly.Msg.senseBox_bme680);
this.appendDummyInput()
.setAlign(Blockly.ALIGN_RIGHT)
.appendField(Blockly.Msg.senseBox_value)
.appendField(new Blockly.FieldDropdown(dropdownOptions), "dropdown")
.appendField(new Blockly.FieldDropdown(dropdownOptions), "dropdown");
this.setOutput(true, Types.DECIMAL.typeName);
this.setColour(getColour().sensebox);
this.setTooltip(Blockly.Msg.senseBox_bme_tooltip);
this.setHelpUrl(Blockly.Msg.senseBox_bme680_helpurl)
}
this.setHelpUrl(Blockly.Msg.senseBox_bme680_helpurl);
},
};
/**
* Ultrasonic Sensor
*
*
*
*
*/
Blockly.Blocks['sensebox_sensor_ultrasonic_ranger'] = {
Blockly.Blocks["sensebox_sensor_ultrasonic_ranger"] = {
init: function () {
var dropdownOptions = [[Blockly.Msg.senseBox_ultrasonic_port_A, 'A'],
[Blockly.Msg.senseBox_ultrasonic_port_B, 'B'], [Blockly.Msg.senseBox_ultrasonic_port_C, 'C']];
var dropdown = new Blockly.FieldDropdown(dropdownOptions, function (option) {
var input = (option === 'A') || (option === 'B') || (option === 'C');
var dropdownOptions = [
[Blockly.Msg.senseBox_ultrasonic_port_A, "A"],
[Blockly.Msg.senseBox_ultrasonic_port_B, "B"],
[Blockly.Msg.senseBox_ultrasonic_port_C, "C"],
];
var dropdown = new Blockly.FieldDropdown(dropdownOptions, function (
option
) {
var input = option === "A" || option === "B" || option === "C";
this.sourceBlock_.updateShape_(input);
});
@@ -202,14 +256,18 @@ Blockly.Blocks['sensebox_sensor_ultrasonic_ranger'] = {
this.appendDummyInput()
.appendField(Blockly.Msg.senseBox_ultrasonic)
.appendField(dropdown, "port");
this.appendDummyInput('TrigEcho')
this.appendDummyInput("TrigEcho")
.setAlign(Blockly.ALIGN_RIGHT)
.appendField(Blockly.Msg.senseBox_ultrasonic_trigger)
.appendField(new Blockly.FieldDropdown(
selectedBoard().digitalPins), 'ultrasonic_trigger')
.appendField(
new Blockly.FieldDropdown(selectedBoard().digitalPins),
"ultrasonic_trigger"
)
.appendField(Blockly.Msg.senseBox_ultrasonic_echo)
.appendField(new Blockly.FieldDropdown(
selectedBoard().digitalPins), 'ultrasonic_echo');
.appendField(
new Blockly.FieldDropdown(selectedBoard().digitalPins),
"ultrasonic_echo"
);
this.setOutput(true, Types.NUMBER.typeName);
this.setTooltip(Blockly.Msg.senseBox_ultrasonic_tooltip);
this.setHelpUrl(Blockly.Msg.senseBox_ultrasonic_helpurl);
@@ -220,8 +278,7 @@ Blockly.Blocks['sensebox_sensor_ultrasonic_ranger'] = {
* @this Blockly.Block
*/
domToMutation: function (xmlElement) {
(xmlElement.getAttribute('port'));
xmlElement.getAttribute("port");
},
/**
* Create XML to represent number of pins selection.
@@ -229,8 +286,8 @@ Blockly.Blocks['sensebox_sensor_ultrasonic_ranger'] = {
* @this Blockly.Block
*/
mutationToDom: function () {
var container = document.createElement('mutation');
var input = this.getFieldValue('port');
var container = document.createElement("mutation");
var input = this.getFieldValue("port");
this.updateShape_(input);
container.setAttribute("port", input);
return container;
@@ -242,159 +299,185 @@ Blockly.Blocks['sensebox_sensor_ultrasonic_ranger'] = {
* @this Blockly.Block
*/
updateShape_: function () {
var input = this.getFieldValue('port');
var input = this.getFieldValue("port");
switch (input) {
case 'A':
this.setFieldValue('1', 'ultrasonic_trigger');
this.setFieldValue('2', 'ultrasonic_echo');
case "A":
this.setFieldValue("1", "ultrasonic_trigger");
this.setFieldValue("2", "ultrasonic_echo");
break;
case 'B':
this.setFieldValue('3', 'ultrasonic_trigger');
this.setFieldValue('4', 'ultrasonic_echo');
case "B":
this.setFieldValue("3", "ultrasonic_trigger");
this.setFieldValue("4", "ultrasonic_echo");
break;
case 'C':
this.setFieldValue('5', 'ultrasonic_trigger');
this.setFieldValue('6', 'ultrasonic_echo');
case "C":
this.setFieldValue("5", "ultrasonic_trigger");
this.setFieldValue("6", "ultrasonic_echo");
break;
default:
break;
}
}
},
};
/**
* Microphone
*
*
*/
Blockly.Blocks['sensebox_sensor_sound'] = {
Blockly.Blocks["sensebox_sensor_sound"] = {
init: function () {
this.setColour(getColour().sensebox);
this.appendDummyInput()
.appendField(Blockly.Msg.senseBox_sound)
.appendField("Pin:")
.appendField(new Blockly.FieldDropdown(selectedBoard().analogPins), "PIN")
.appendField(
new Blockly.FieldDropdown(selectedBoard().analogPins),
"PIN"
);
this.setOutput(true, Types.NUMBER.typeName);
this.setHelpUrl(Blockly.Msg.senseBox_sound_helpurl);
this.setTooltip(Blockly.Msg.senseBox_sound_tooltip);
}
},
};
/**
* Button
*
*
*
*
*/
Blockly.Blocks['sensebox_button'] = {
Blockly.Blocks["sensebox_button"] = {
init: function () {
this.appendDummyInput()
.appendField(Blockly.Msg.senseBox_button)
.appendField(new Blockly.FieldDropdown([[Blockly.Msg.senseBox_button_isPressed, "isPressed"], [Blockly.Msg.senseBox_button_wasPressed, "wasPressed"], [Blockly.Msg.senseBox_button_switch, "Switch"]]), "FUNCTION")
.appendField(
new Blockly.FieldDropdown([
[Blockly.Msg.senseBox_button_isPressed, "isPressed"],
[Blockly.Msg.senseBox_button_wasPressed, "wasPressed"],
[Blockly.Msg.senseBox_button_switch, "Switch"],
]),
"FUNCTION"
)
.appendField("Pin:")
.appendField(new Blockly.FieldDropdown(selectedBoard().digitalPinsButton), "PIN");
.appendField(
new Blockly.FieldDropdown(selectedBoard().digitalPinsButton),
"PIN"
);
this.setOutput(true, Types.BOOLEAN.typeName);
this.setColour(getColour().sensebox);
this.setTooltip(Blockly.Msg.senseBox_button_tooltip);
}
},
};
/**
* SCD30 CO2 Sensor
*
*
*/
Blockly.Blocks['sensebox_scd30'] = {
Blockly.Blocks["sensebox_scd30"] = {
init: function () {
var dropdownOptions = [[Blockly.Msg.senseBox_scd_co2, "CO2"], [Blockly.Msg.senseBox_temp, "temperature"], [Blockly.Msg.senseBox_hum, "humidity"]];
this.appendDummyInput()
.appendField(Blockly.Msg.senseBox_scd30);
var dropdownOptions = [
[Blockly.Msg.senseBox_scd_co2, "CO2"],
[Blockly.Msg.senseBox_temp, "temperature"],
[Blockly.Msg.senseBox_hum, "humidity"],
];
this.appendDummyInput().appendField(Blockly.Msg.senseBox_scd30);
this.appendDummyInput()
.setAlign(Blockly.ALIGN_RIGHT)
.appendField(Blockly.Msg.senseBox_value)
.appendField(new Blockly.FieldDropdown(dropdownOptions), "dropdown")
.appendField(new Blockly.FieldDropdown(dropdownOptions), "dropdown");
this.setOutput(true, Types.NUMBER.typeName);
this.setColour(getColour().sensebox);
this.setTooltip(Blockly.Msg.senseBox_scd_tooltip);
this.setHelpUrl(Blockly.Msg.senseBox_scd_helpurl);
},
onchange: function (e) {
var dropdown = this.getFieldValue('dropdown');
if (dropdown === 'temperature' || dropdown === 'humidity') {
var dropdown = this.getFieldValue("dropdown");
if (dropdown === "temperature" || dropdown === "humidity") {
this.setOutput(true, Types.DECIMAL.typeName);
} else if (dropdown === 'CO2') {
} else if (dropdown === "CO2") {
this.setOutput(true, Types.NUMBER.typeName);
}
}
},
};
/**
* GPS Module
*
*
*/
Blockly.Blocks['sensebox_gps'] = {
Blockly.Blocks["sensebox_gps"] = {
init: function () {
var dropdownOptions = [[Blockly.Msg.senseBox_gps_lat, "latitude"], [Blockly.Msg.senseBox_gps_lng, "longitude"], [Blockly.Msg.senseBox_gps_alt, "altitude"], ["pDOP", "pDOP"], ["Fix Type", "fixType"]];
this.appendDummyInput()
.appendField("GPS Modul");
var dropdownOptions = [
[Blockly.Msg.senseBox_gps_lat, "latitude"],
[Blockly.Msg.senseBox_gps_lng, "longitude"],
[Blockly.Msg.senseBox_gps_alt, "altitude"],
["pDOP", "pDOP"],
["Timestamp", "timestamp"],
["Fix Type", "fixType"],
];
this.appendDummyInput().appendField("GPS Modul");
this.appendDummyInput()
.setAlign(Blockly.ALIGN_RIGHT)
.appendField(Blockly.Msg.senseBox_value)
.appendField(new Blockly.FieldDropdown(dropdownOptions), "dropdown")
.appendField(new Blockly.FieldDropdown(dropdownOptions), "dropdown");
this.setOutput(true, Types.NUMBER.typeName);
this.setColour(getColour().sensebox);
this.setTooltip(Blockly.Msg.senseBox_gps_tooltip);
}
},
};
/**
* Block for Truebner STM50
*/
Blockly.Blocks['sensebox_sensor_truebner_smt50'] = {
Blockly.Blocks["sensebox_sensor_truebner_smt50"] = {
init: function () {
var dropdownOptions = [[Blockly.Msg.senseBox_ultrasonic_port_A, 'A'],
[Blockly.Msg.senseBox_ultrasonic_port_B, 'B'], [Blockly.Msg.senseBox_ultrasonic_port_C, 'C']];
var dropdownOptions = [
[Blockly.Msg.senseBox_ultrasonic_port_A, "A"],
[Blockly.Msg.senseBox_ultrasonic_port_B, "B"],
[Blockly.Msg.senseBox_ultrasonic_port_C, "C"],
];
this.setColour(getColour().sensebox);
this.appendDummyInput()
.appendField(Blockly.Msg.senseBox_smt50);
this.appendDummyInput().appendField(Blockly.Msg.senseBox_smt50);
this.appendDummyInput()
.appendField("Port:")
.appendField(new Blockly.FieldDropdown(dropdownOptions), "Port")
.appendField(new Blockly.FieldDropdown(dropdownOptions), "Port");
this.appendDummyInput()
.appendField(Blockly.Msg.senseBox_value)
.appendField(new Blockly.FieldDropdown([[Blockly.Msg.senseBox_temp, "temp"], [Blockly.Msg.senseBox_soil, "soil"]]), 'value')
.appendField(
new Blockly.FieldDropdown([
[Blockly.Msg.senseBox_temp, "temp"],
[Blockly.Msg.senseBox_soil, "soil"],
]),
"value"
);
this.setOutput(true, Types.NUMBER.typeName);
this.setTooltip(Blockly.Msg.senseBox_smt50_tooltip);
this.setHelpUrl(Blockly.Msg.senseBox_smt50_helpurl);
}
},
};
/**
* DS18B20 Watertemperature
*
*/
Blockly.Blocks['sensebox_sensor_watertemperature'] = {
Blockly.Blocks["sensebox_sensor_watertemperature"] = {
init: function () {
var dropdownOptions = [[Blockly.Msg.senseBox_ultrasonic_port_A, 'A'],
[Blockly.Msg.senseBox_ultrasonic_port_B, 'B'], [Blockly.Msg.senseBox_ultrasonic_port_C, 'C']];
var dropdownOptions = [
[Blockly.Msg.senseBox_ultrasonic_port_A, "A"],
[Blockly.Msg.senseBox_ultrasonic_port_B, "B"],
[Blockly.Msg.senseBox_ultrasonic_port_C, "C"],
];
this.setColour(getColour().sensebox);
this.appendDummyInput()
.appendField(Blockly.Msg.senseBox_watertemperature)
.appendField("Port:")
.appendField(new Blockly.FieldDropdown(dropdownOptions), "Port")
.appendField(new Blockly.FieldDropdown(dropdownOptions), "Port");
this.setOutput(true, Types.NUMBER.typeName);
this.setTooltip(Blockly.Msg.senseBox_watertemperature_tip);
}
},
};
/**
@@ -418,18 +501,20 @@ Blockly.Blocks['sensebox_windspeed'] = {
* DF Robot Soundsensor
*/
Blockly.Blocks['sensebox_soundsensor_dfrobot'] = {
Blockly.Blocks["sensebox_soundsensor_dfrobot"] = {
init: function () {
var dropdownOptions = [[Blockly.Msg.senseBox_ultrasonic_port_A, 'A'],
[Blockly.Msg.senseBox_ultrasonic_port_B, 'B'], [Blockly.Msg.senseBox_ultrasonic_port_C, 'C']];
var dropdownOptions = [
[Blockly.Msg.senseBox_ultrasonic_port_A, "A"],
[Blockly.Msg.senseBox_ultrasonic_port_B, "B"],
[Blockly.Msg.senseBox_ultrasonic_port_C, "C"],
];
this.setColour(getColour().sensebox);
this.appendDummyInput()
.appendField(Blockly.Msg.senseBox_soundsensor_dfrobot)
.appendField("Port:")
.appendField(new Blockly.FieldDropdown(dropdownOptions), "Port")
.appendField(new Blockly.FieldDropdown(dropdownOptions), "Port");
this.setOutput(true, Types.DECIMAL.typeName);
this.setTooltip(Blockly.Msg.senseBox_soundsensor_dfrobot_tooltip);
this.setHelpUrl(Blockly.Msg.senseBox_soundsensor_dfrobot_helpurl)
}
};
this.setHelpUrl(Blockly.Msg.senseBox_soundsensor_dfrobot_helpurl);
},
};