Merge pull request #9 from sensebox/add-button-block
add block for the button
This commit is contained in:
		
						commit
						182b5ada77
					
				| @ -55,11 +55,11 @@ class BlocklyWindow extends Component { | |||||||
|           style={this.props.svg ? { height: 0 } : this.props.blocklyCSS} |           style={this.props.svg ? { height: 0 } : this.props.blocklyCSS} | ||||||
|           readOnly={this.props.readOnly !== undefined ? this.props.readOnly : false} |           readOnly={this.props.readOnly !== undefined ? this.props.readOnly : false} | ||||||
|           trashcan={this.props.trashcan !== undefined ? this.props.trashcan : true} |           trashcan={this.props.trashcan !== undefined ? this.props.trashcan : true} | ||||||
|           renderer='zelos' |           renderer='geras' | ||||||
|           zoom={{ // https://developers.google.com/blockly/guides/configure/web/zoom
 |           zoom={{ // https://developers.google.com/blockly/guides/configure/web/zoom
 | ||||||
|             controls: this.props.zoomControls !== undefined ? this.props.zoomControls : true, |             controls: this.props.zoomControls !== undefined ? this.props.zoomControls : true, | ||||||
|             wheel: false, |             wheel: false, | ||||||
|             startScale: 0.8, |             startScale: 1, | ||||||
|             maxScale: 3, |             maxScale: 3, | ||||||
|             minScale: 0.3, |             minScale: 0.3, | ||||||
|             scaleSpeed: 1.2 |             scaleSpeed: 1.2 | ||||||
|  | |||||||
| @ -280,5 +280,24 @@ Blockly.Blocks['sensebox_sensor_sound'] = { | |||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | /** | ||||||
|  |  * 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("Pin:") | ||||||
|  |       .appendField(new Blockly.FieldDropdown(selectedBoard().digitalPinsButton), "PIN"); | ||||||
|  |     this.setOutput(true, Types.BOOLEAN.typeName); | ||||||
|  |     this.setColour(getColour().sensebox); | ||||||
|  |     this.setTooltip(Blockly.Msg.senseBox_button_tip); | ||||||
|  |     this.setHelpUrl('https://sensebox.de/books'); | ||||||
|  |   } | ||||||
|  | }; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -6,12 +6,12 @@ import Blockly from 'blockly'; | |||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| Blockly.Arduino.sensebox_sensor_temp_hum = function () { | Blockly.Arduino.sensebox_sensor_temp_hum = function () { | ||||||
|     var dropdown_name = this.getFieldValue('NAME'); |   var dropdown_name = this.getFieldValue('NAME'); | ||||||
|     Blockly.Arduino.libraries_['library_senseBoxMCU'] = '#include "SenseBoxMCU.h"'; |   Blockly.Arduino.libraries_['library_senseBoxMCU'] = '#include "SenseBoxMCU.h"'; | ||||||
|     Blockly.Arduino.definitions_['define_hdc'] = 'HDC1080 hdc;'; |   Blockly.Arduino.definitions_['define_hdc'] = 'HDC1080 hdc;'; | ||||||
|     Blockly.Arduino.setupCode_['sensebox_sensor_temp_hum'] = 'hdc.begin();'; |   Blockly.Arduino.setupCode_['sensebox_sensor_temp_hum'] = 'hdc.begin();'; | ||||||
|     var code = 'hdc.get' + dropdown_name + '()'; |   var code = 'hdc.get' + dropdown_name + '()'; | ||||||
|     return [code, Blockly.Arduino.ORDER_ATOMIC]; |   return [code, Blockly.Arduino.ORDER_ATOMIC]; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
| @ -20,20 +20,20 @@ Blockly.Arduino.sensebox_sensor_temp_hum = function () { | |||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| Blockly.Arduino.sensebox_sensor_uv_light = function () { | Blockly.Arduino.sensebox_sensor_uv_light = function () { | ||||||
|     var dropdown_name = this.getFieldValue('NAME'); |   var dropdown_name = this.getFieldValue('NAME'); | ||||||
|     let code = ''; |   let code = ''; | ||||||
|     Blockly.Arduino.libraries_['library_senseBoxMCU'] = '#include "SenseBoxMCU.h"'; |   Blockly.Arduino.libraries_['library_senseBoxMCU'] = '#include "SenseBoxMCU.h"'; | ||||||
|     if (dropdown_name === 'UvIntensity') { |   if (dropdown_name === 'UvIntensity') { | ||||||
|         Blockly.Arduino.definitions_['define_veml'] = 'VEML6070 veml;' |     Blockly.Arduino.definitions_['define_veml'] = 'VEML6070 veml;' | ||||||
|         Blockly.Arduino.setupCode_['sensebox_sensor_uv_light'] = 'veml.begin();' |     Blockly.Arduino.setupCode_['sensebox_sensor_uv_light'] = 'veml.begin();' | ||||||
|         code = 'veml.get' + dropdown_name + '()'; |     code = 'veml.get' + dropdown_name + '()'; | ||||||
|     } |   } | ||||||
|     if (dropdown_name === 'Illuminance') { |   if (dropdown_name === 'Illuminance') { | ||||||
|         Blockly.Arduino.definitions_['define_tsl'] = 'TSL45315 tsl;' |     Blockly.Arduino.definitions_['define_tsl'] = 'TSL45315 tsl;' | ||||||
|         Blockly.Arduino.setupCode_['sensebox_sensor_illuminance'] = 'tsl.begin();' |     Blockly.Arduino.setupCode_['sensebox_sensor_illuminance'] = 'tsl.begin();' | ||||||
|         code = 'tsl.get' + dropdown_name + '()'; |     code = 'tsl.get' + dropdown_name + '()'; | ||||||
|     } |   } | ||||||
|     return [code, Blockly.Arduino.ORDER_ATOMIC]; |   return [code, Blockly.Arduino.ORDER_ATOMIC]; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -43,13 +43,13 @@ Blockly.Arduino.sensebox_sensor_uv_light = function () { | |||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| Blockly.Arduino.sensebox_sensor_bmx055_accelerometer = function () { | Blockly.Arduino.sensebox_sensor_bmx055_accelerometer = function () { | ||||||
|     var dropdown_value = this.getFieldValue('VALUE'); |   var dropdown_value = this.getFieldValue('VALUE'); | ||||||
|     var range = this.getFieldValue('RANGE'); |   var range = this.getFieldValue('RANGE'); | ||||||
|     Blockly.Arduino.libraries_['library_senseBoxMCU'] = '#include "SenseBoxMCU.h"'; |   Blockly.Arduino.libraries_['library_senseBoxMCU'] = '#include "SenseBoxMCU.h"'; | ||||||
|     Blockly.Arduino.definitions_['define_bmx'] = 'BMX055 bmx;'; |   Blockly.Arduino.definitions_['define_bmx'] = 'BMX055 bmx;'; | ||||||
|     Blockly.Arduino.setupCode_['sensebox_sensor_bmx055'] = 'bmx.beginAcc(' + range + ');'; |   Blockly.Arduino.setupCode_['sensebox_sensor_bmx055'] = 'bmx.beginAcc(' + range + ');'; | ||||||
|     var code = 'bmx.getAcceleration' + dropdown_value + '()'; |   var code = 'bmx.getAcceleration' + dropdown_value + '()'; | ||||||
|     return [code, Blockly.Arduino.ORDER_ATOMIC]; |   return [code, Blockly.Arduino.ORDER_ATOMIC]; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
| @ -58,14 +58,14 @@ Blockly.Arduino.sensebox_sensor_bmx055_accelerometer = function () { | |||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| Blockly.Arduino.sensebox_sensor_sds011 = function () { | Blockly.Arduino.sensebox_sensor_sds011 = function () { | ||||||
|     var dropdown_name = this.getFieldValue('NAME'); |   var dropdown_name = this.getFieldValue('NAME'); | ||||||
|     var serial_name = this.getFieldValue('SERIAL'); |   var serial_name = this.getFieldValue('SERIAL'); | ||||||
|     Blockly.Arduino.libraries_['library_senseBoxMCU'] = '#include "SenseBoxMCU.h"'; |   Blockly.Arduino.libraries_['library_senseBoxMCU'] = '#include "SenseBoxMCU.h"'; | ||||||
|     Blockly.Arduino.codeFunctions_['define_sds011'] = 'SDS011 my_sds(' + serial_name + ');'; |   Blockly.Arduino.codeFunctions_['define_sds011'] = 'SDS011 my_sds(' + serial_name + ');'; | ||||||
|     Blockly.Arduino.variables_['variables_sds011'] = 'float p10,p25;\n'; |   Blockly.Arduino.variables_['variables_sds011'] = 'float p10,p25;\n'; | ||||||
|     Blockly.Arduino.setupCode_['sensebox_sensor_sds011'] = serial_name + '.begin(9600);'; |   Blockly.Arduino.setupCode_['sensebox_sensor_sds011'] = serial_name + '.begin(9600);'; | ||||||
|     var code = 'my_sds.get' + dropdown_name + '()'; |   var code = 'my_sds.get' + dropdown_name + '()'; | ||||||
|     return [code, Blockly.Arduino.ORDER_ATOMIC]; |   return [code, Blockly.Arduino.ORDER_ATOMIC]; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
| @ -74,19 +74,19 @@ Blockly.Arduino.sensebox_sensor_sds011 = function () { | |||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| Blockly.Arduino.sensebox_sensor_pressure = function () { | Blockly.Arduino.sensebox_sensor_pressure = function () { | ||||||
|     var dropdown_name = this.getFieldValue('NAME'); |   var dropdown_name = this.getFieldValue('NAME'); | ||||||
|     var code = ''; |   var code = ''; | ||||||
|     var referencePressure = this.getFieldValue('referencePressure'); |   var referencePressure = this.getFieldValue('referencePressure'); | ||||||
|     Blockly.Arduino.libraries_['library_senseBoxMCU'] = '#include "SenseBoxMCU.h"'; |   Blockly.Arduino.libraries_['library_senseBoxMCU'] = '#include "SenseBoxMCU.h"'; | ||||||
|     Blockly.Arduino.definitions_['define_pressure'] = 'BMP280 bmp_sensor;'; |   Blockly.Arduino.definitions_['define_pressure'] = 'BMP280 bmp_sensor;'; | ||||||
|     Blockly.Arduino.setupCode_['sensebox_bmp_sensor'] = 'bmp_sensor.begin();'; |   Blockly.Arduino.setupCode_['sensebox_bmp_sensor'] = 'bmp_sensor.begin();'; | ||||||
|     if (dropdown_name === 'Pressure' || dropdown_name === 'Temperature') { |   if (dropdown_name === 'Pressure' || dropdown_name === 'Temperature') { | ||||||
|         code = 'bmp_sensor.get' + dropdown_name + '()'; |     code = 'bmp_sensor.get' + dropdown_name + '()'; | ||||||
|     } |   } | ||||||
|     else if (dropdown_name === 'Altitude') { |   else if (dropdown_name === 'Altitude') { | ||||||
|         code = 'bmp_sensor.getAltitude(' + referencePressure + ')'; |     code = 'bmp_sensor.getAltitude(' + referencePressure + ')'; | ||||||
|     } |   } | ||||||
|     return [code, Blockly.Arduino.ORDER_ATOMIC]; |   return [code, Blockly.Arduino.ORDER_ATOMIC]; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -97,19 +97,19 @@ Blockly.Arduino.sensebox_sensor_pressure = function () { | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| Blockly.Arduino.sensebox_sensor_bme680_bsec = function () { | Blockly.Arduino.sensebox_sensor_bme680_bsec = function () { | ||||||
|     var dropdown_name = this.getFieldValue('dropdown'); |   var dropdown_name = this.getFieldValue('dropdown'); | ||||||
|     let code = ''; |   let code = ''; | ||||||
|     Blockly.Arduino.libraries_['library_bsec'] = '#include "bsec.h"'; |   Blockly.Arduino.libraries_['library_bsec'] = '#include "bsec.h"'; | ||||||
|     Blockly.Arduino.definitions_['bsec_iaqSensor'] = 'Bsec iaqSensor;' |   Blockly.Arduino.definitions_['bsec_iaqSensor'] = 'Bsec iaqSensor;' | ||||||
|     Blockly.Arduino.variables_['bmeTemperatur'] = 'float bmeTemperatur;'; |   Blockly.Arduino.variables_['bmeTemperatur'] = 'float bmeTemperatur;'; | ||||||
|     Blockly.Arduino.variables_['bmeHumidity'] = 'float bmeHumidity;'; |   Blockly.Arduino.variables_['bmeHumidity'] = 'float bmeHumidity;'; | ||||||
|     Blockly.Arduino.variables_['bmePressure'] = 'double bmePressure;'; |   Blockly.Arduino.variables_['bmePressure'] = 'double bmePressure;'; | ||||||
|     Blockly.Arduino.variables_['bmeIAQ'] = 'float bmeIAQ;'; |   Blockly.Arduino.variables_['bmeIAQ'] = 'float bmeIAQ;'; | ||||||
|     Blockly.Arduino.variables_['bmeIAQAccuracy'] = 'float bmeIAQAccuracy;'; |   Blockly.Arduino.variables_['bmeIAQAccuracy'] = 'float bmeIAQAccuracy;'; | ||||||
|     Blockly.Arduino.variables_['bmeCO2'] = 'int bmeCO2;'; |   Blockly.Arduino.variables_['bmeCO2'] = 'int bmeCO2;'; | ||||||
|     Blockly.Arduino.variables_['bmeBreathVocEquivalent'] = 'float bmeBreathVocEquivalent;' |   Blockly.Arduino.variables_['bmeBreathVocEquivalent'] = 'float bmeBreathVocEquivalent;' | ||||||
| 
 | 
 | ||||||
|     Blockly.Arduino.functionNames_['checkIaqSensorStatus'] = ` |   Blockly.Arduino.functionNames_['checkIaqSensorStatus'] = ` | ||||||
|     void checkIaqSensorStatus(void) |     void checkIaqSensorStatus(void) | ||||||
|   { |   { | ||||||
|     if (iaqSensor.status != BSEC_OK) { |     if (iaqSensor.status != BSEC_OK) { | ||||||
| @ -127,7 +127,7 @@ Blockly.Arduino.sensebox_sensor_bme680_bsec = function () { | |||||||
|     } |     } | ||||||
|   } |   } | ||||||
|   `;
 |   `;
 | ||||||
|     Blockly.Arduino.functionNames_['errLeds'] = ` |   Blockly.Arduino.functionNames_['errLeds'] = ` | ||||||
|   void errLeds(void) |   void errLeds(void) | ||||||
|   { |   { | ||||||
|     pinMode(LED_BUILTIN, OUTPUT); |     pinMode(LED_BUILTIN, OUTPUT); | ||||||
| @ -136,11 +136,11 @@ Blockly.Arduino.sensebox_sensor_bme680_bsec = function () { | |||||||
|     digitalWrite(LED_BUILTIN, LOW); |     digitalWrite(LED_BUILTIN, LOW); | ||||||
|     delay(100); |     delay(100); | ||||||
|   }`;
 |   }`;
 | ||||||
|     //Setup Code
 |   //Setup Code
 | ||||||
|     Blockly.Arduino.setupCode_['Wire.begin'] = 'Wire.begin();'; |   Blockly.Arduino.setupCode_['Wire.begin'] = 'Wire.begin();'; | ||||||
|     Blockly.Arduino.setupCode_['iaqSensor.begin'] = 'iaqSensor.begin(BME680_I2C_ADDR_PRIMARY, Wire);'; |   Blockly.Arduino.setupCode_['iaqSensor.begin'] = 'iaqSensor.begin(BME680_I2C_ADDR_PRIMARY, Wire);'; | ||||||
|     Blockly.Arduino.setupCode_['checkIaqSensorStatus'] = 'checkIaqSensorStatus();'; |   Blockly.Arduino.setupCode_['checkIaqSensorStatus'] = 'checkIaqSensorStatus();'; | ||||||
|     Blockly.Arduino.setupCode_['bsec_sensorlist'] = ` |   Blockly.Arduino.setupCode_['bsec_sensorlist'] = ` | ||||||
|     bsec_virtual_sensor_t sensorList[10] = { |     bsec_virtual_sensor_t sensorList[10] = { | ||||||
|       BSEC_OUTPUT_RAW_TEMPERATURE, |       BSEC_OUTPUT_RAW_TEMPERATURE, | ||||||
|       BSEC_OUTPUT_RAW_PRESSURE, |       BSEC_OUTPUT_RAW_PRESSURE, | ||||||
| @ -154,9 +154,9 @@ Blockly.Arduino.sensebox_sensor_bme680_bsec = function () { | |||||||
|       BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY, |       BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY, | ||||||
|     }; |     }; | ||||||
|     `;
 |     `;
 | ||||||
|     Blockly.Arduino.setupCode_['iaqSensorUpdateSubscription'] = 'iaqSensor.updateSubscription(sensorList, 10, BSEC_SAMPLE_RATE_LP);\ncheckIaqSensorStatus();'; |   Blockly.Arduino.setupCode_['iaqSensorUpdateSubscription'] = 'iaqSensor.updateSubscription(sensorList, 10, BSEC_SAMPLE_RATE_LP);\ncheckIaqSensorStatus();'; | ||||||
|     //Loop Code
 |   //Loop Code
 | ||||||
|     Blockly.Arduino.loopCodeOnce_['iaqloop'] = ` |   Blockly.Arduino.loopCodeOnce_['iaqloop'] = ` | ||||||
|     if (iaqSensor.run()) { |     if (iaqSensor.run()) { | ||||||
|       bmeTemperatur = iaqSensor.temperature; |       bmeTemperatur = iaqSensor.temperature; | ||||||
|       bmeHumidity = iaqSensor.humidity; |       bmeHumidity = iaqSensor.humidity; | ||||||
| @ -169,32 +169,32 @@ Blockly.Arduino.sensebox_sensor_bme680_bsec = function () { | |||||||
|       checkIaqSensorStatus(); |       checkIaqSensorStatus(); | ||||||
|     } |     } | ||||||
|     `;
 |     `;
 | ||||||
|     switch (dropdown_name) { |   switch (dropdown_name) { | ||||||
|         case 'temperature': |     case 'temperature': | ||||||
|             code = 'bmeTemperatur'; |       code = 'bmeTemperatur'; | ||||||
|             break; |       break; | ||||||
|         case 'humidity': |     case 'humidity': | ||||||
|             code = 'bmeHumidity'; |       code = 'bmeHumidity'; | ||||||
|             break; |       break; | ||||||
|         case 'pressure': |     case 'pressure': | ||||||
|             code = 'bmePressure' |       code = 'bmePressure' | ||||||
|             break; |       break; | ||||||
|         case 'IAQ': |     case 'IAQ': | ||||||
|             code = 'bmeIAQ'; |       code = 'bmeIAQ'; | ||||||
|             break; |       break; | ||||||
|         case 'IAQAccuracy': |     case 'IAQAccuracy': | ||||||
|             code = 'bmeIAQAccuracy'; |       code = 'bmeIAQAccuracy'; | ||||||
|             break; |       break; | ||||||
|         case 'CO2': |     case 'CO2': | ||||||
|             code = 'bmeCO2'; |       code = 'bmeCO2'; | ||||||
|             break; |       break; | ||||||
|         case 'breathVocEquivalent': |     case 'breathVocEquivalent': | ||||||
|             code = 'bmeBreathVocEquivalent'; |       code = 'bmeBreathVocEquivalent'; | ||||||
|             break; |       break; | ||||||
|         default: |     default: | ||||||
|             break; |       break; | ||||||
|     } |   } | ||||||
|     return [code, Blockly.Arduino.ORDER_ATOMIC]; |   return [code, Blockly.Arduino.ORDER_ATOMIC]; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -204,14 +204,14 @@ Blockly.Arduino.sensebox_sensor_bme680_bsec = function () { | |||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| Blockly.Arduino.sensebox_sensor_ultrasonic_ranger = function () { | Blockly.Arduino.sensebox_sensor_ultrasonic_ranger = function () { | ||||||
|     var dropdown_pin_RX = this.getFieldValue('ultrasonic_trigger'); |   var dropdown_pin_RX = this.getFieldValue('ultrasonic_trigger'); | ||||||
|     var dropdown_pin_TX = this.getFieldValue('ultrasonic_echo'); |   var dropdown_pin_TX = this.getFieldValue('ultrasonic_echo'); | ||||||
|     var port = this.getFieldValue('port'); |   var port = this.getFieldValue('port'); | ||||||
|     Blockly.Arduino.libraries_['library_senseBoxMCU'] = '#include "SenseBoxMCU.h"'; |   Blockly.Arduino.libraries_['library_senseBoxMCU'] = '#include "SenseBoxMCU.h"'; | ||||||
|     Blockly.Arduino.definitions_['var_ultrasonic' + port] = 'Ultrasonic Ultrasonic' + port + '(' + dropdown_pin_RX + ',' + dropdown_pin_TX + ');'; |   Blockly.Arduino.definitions_['var_ultrasonic' + port] = 'Ultrasonic Ultrasonic' + port + '(' + dropdown_pin_RX + ',' + dropdown_pin_TX + ');'; | ||||||
|     var code; |   var code; | ||||||
|     code = 'Ultrasonic' + port + '.getDistance()'; |   code = 'Ultrasonic' + port + '.getDistance()'; | ||||||
|     return [code, Blockly.Arduino.ORDER_ATOMIC]; |   return [code, Blockly.Arduino.ORDER_ATOMIC]; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
| @ -220,9 +220,35 @@ Blockly.Arduino.sensebox_sensor_ultrasonic_ranger = function () { | |||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| Blockly.Arduino.sensebox_sensor_sound = function () { | Blockly.Arduino.sensebox_sensor_sound = function () { | ||||||
|     var dropdown_pin = this.getFieldValue('PIN'); |   var dropdown_pin = this.getFieldValue('PIN'); | ||||||
|     Blockly.Arduino.libraries_['library_senseBoxMCU'] = '#include "SenseBoxMCU.h"'; |   Blockly.Arduino.libraries_['library_senseBoxMCU'] = '#include "SenseBoxMCU.h"'; | ||||||
|     Blockly.Arduino.definitions_['define_microphone'] = 'Microphone microphone(' + dropdown_pin + ');' |   Blockly.Arduino.definitions_['define_microphone'] = 'Microphone microphone(' + dropdown_pin + ');' | ||||||
|     var code = 'microphone.getValue()'; |   var code = 'microphone.getValue()'; | ||||||
|     return [code, Blockly.Arduino.ORDER_ATOMIC]; |   return [code, Blockly.Arduino.ORDER_ATOMIC]; | ||||||
| }; | }; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Button | ||||||
|  |  *  | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Blockly.Arduino.sensebox_button = function () { | ||||||
|  |   var dropdown_pin = this.getFieldValue('PIN'); | ||||||
|  |   var dropown_function = this.getFieldValue('FUNCTION'); | ||||||
|  |   Blockly.Arduino.libraries_['library_senseBoxMCU'] = '#include "SenseBoxMCU.h"'; | ||||||
|  |   Blockly.Arduino.definitions_['define_button' + dropdown_pin + ''] = 'Button button_' + dropdown_pin + '(' + dropdown_pin + ');'; | ||||||
|  |   Blockly.Arduino.setupCode_['setup_button' + dropdown_pin + ''] = 'button_' + dropdown_pin + '.begin();'; | ||||||
|  |   var code = ''; | ||||||
|  |   if (dropown_function === 'isPressed') { | ||||||
|  |     code = 'button_' + dropdown_pin + '.isPressed()'; | ||||||
|  |   } | ||||||
|  |   else if (dropown_function === 'Switch') { | ||||||
|  |     code = 'button_' + dropdown_pin + '.getSwitch()'; | ||||||
|  |   } | ||||||
|  |   else if (dropown_function === 'wasPressed') { | ||||||
|  |     code = 'button_' + dropdown_pin + '.wasPressed()'; | ||||||
|  |   } | ||||||
|  |   return [code, Blockly.Arduino.ORDER_ATOMIC]; | ||||||
|  | }; | ||||||
| @ -47,6 +47,7 @@ class Toolbox extends React.Component { | |||||||
|                     <Block type="sensebox_sensor_bme680_bsec" /> |                     <Block type="sensebox_sensor_bme680_bsec" /> | ||||||
|                     <Block type="sensebox_sensor_ultrasonic_ranger" /> |                     <Block type="sensebox_sensor_ultrasonic_ranger" /> | ||||||
|                     <Block type="sensebox_sensor_sound" /> |                     <Block type="sensebox_sensor_sound" /> | ||||||
|  |                     <Block type="sensebox_button" /> | ||||||
|                 </Category > |                 </Category > | ||||||
|                 <Category name="WIFI" colour={getColour().sensebox}> |                 <Category name="WIFI" colour={getColour().sensebox}> | ||||||
|                     <Block type="sensebox_wifi" /> |                     <Block type="sensebox_wifi" /> | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user