diff --git a/src/components/Blockly/blocks/sensebox-sensors.js b/src/components/Blockly/blocks/sensebox-sensors.js index 7e0db56..3aa8042 100644 --- a/src/components/Blockly/blocks/sensebox-sensors.js +++ b/src/components/Blockly/blocks/sensebox-sensors.js @@ -218,12 +218,7 @@ Blockly.Blocks["sensebox_sensor_bme680_bsec"] = { 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 FieldGridDropdown(dropdownOptions, function (option) { + var dropdown = new FieldGridDropdown(selectedBoard().digitalPorts, function (option) { var input = option === "A" || option === "B" || option === "C"; this.sourceBlock_.updateShape_(input); }); @@ -434,17 +429,12 @@ Blockly.Blocks["sensebox_gps"] = { */ 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"], - ]; + init: function () { this.setColour(getColour().sensebox); this.appendDummyInput().appendField(Blockly.Msg.senseBox_smt50); this.appendDummyInput() .appendField("Port:") - .appendField(new Blockly.FieldDropdown(dropdownOptions), "Port"); + .appendField(new Blockly.FieldDropdown(selectedBoard().digitalPorts), "Port"); this.appendDummyInput() .appendField(Blockly.Msg.senseBox_value) .appendField( @@ -468,16 +458,12 @@ Blockly.Blocks["sensebox_sensor_truebner_smt50"] = { 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"], - ]; + this.setColour(getColour().sensebox); this.appendDummyInput() .appendField(Blockly.Msg.senseBox_watertemperature) .appendField("Port:") - .appendField(new Blockly.FieldDropdown(dropdownOptions), "Port"); + .appendField(new Blockly.FieldDropdown(selectedBoard().digitalPorts), "Port"); this.setOutput(true, Types.NUMBER.typeName); this.setTooltip(Blockly.Msg.senseBox_watertemperature_tip); this.data = {name: "ds18b20"}; @@ -507,16 +493,11 @@ Blockly.Blocks['sensebox_windspeed'] = { 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"], - ]; this.setColour(getColour().sensebox); this.appendDummyInput() .appendField(Blockly.Msg.senseBox_soundsensor_dfrobot) .appendField("Port:") - .appendField(new Blockly.FieldDropdown(dropdownOptions), "Port"); + .appendField(new Blockly.FieldDropdown(selectedBoard().digitalPorts), "Port"); this.setOutput(true, Types.DECIMAL.typeName); this.setTooltip(Blockly.Msg.senseBox_soundsensor_dfrobot_tooltip); this.setHelpUrl(Blockly.Msg.senseBox_soundsensor_dfrobot_helpurl); diff --git a/src/components/Blockly/helpers/board.js b/src/components/Blockly/helpers/board.js index 3150d67..924eeb4 100644 --- a/src/components/Blockly/helpers/board.js +++ b/src/components/Blockly/helpers/board.js @@ -13,6 +13,11 @@ const sensebox_mcu = { ["C5", "5"], ["C6", "6"], ], + digitalPorts: [ + ["A", "A"], + ["B", "B"], + ["C", "C"], + ], digitalPinsLED: [ ["BUILTIN_1", "7"], ["BUILTIN_2", "8"], @@ -143,6 +148,9 @@ const sensebox_mini = { ["IO1", "1"], ["IO2", "2"], ], + digitalPorts: [ + ["IO1-2", "A"], + ], digitalPinsLED: [ ["BUILTIN_1", "7"], ["BUILTIN_2", "8"], @@ -151,8 +159,7 @@ const sensebox_mini = { ], digitalPinsRGB: [ ["on Board", "6"], - ["IO1", "1"], - ["IO2", "2"], + ["IO1-2", "1"], ], digitalPinsButton: [ ["on Board", "0"], diff --git a/src/components/Blockly/helpers/maxInstances.js b/src/components/Blockly/helpers/maxInstances.js index 6498097..b865e4e 100644 --- a/src/components/Blockly/helpers/maxInstances.js +++ b/src/components/Blockly/helpers/maxInstances.js @@ -13,6 +13,8 @@ const maxInstances = { sensebox_lora_initialize_otaa: 1, sensebox_lora_initialize_abp: 1, sensebox_phyphox_init: 1, + sensebox_phyphox_experiment: 1, + sensebox_phyphox_experiment_send: 1, sensebox_ethernet: 1, };