Merge branch 'master' into development
This commit is contained in:
commit
f28a8c4fe7
2
.env
2
.env
@ -1,4 +1,4 @@
|
||||
REACT_APP_COMPILER_URL=https://test.compiler.sensebox.de
|
||||
REACT_APP_COMPILER_URL=https://compiler.sensebox.de
|
||||
REACT_APP_BOARD=sensebox-mcu
|
||||
REACT_APP_BLOCKLY_API=https://api.blockly.sensebox.de
|
||||
|
||||
|
@ -22,7 +22,4 @@ This project was created with [Create React App](https://github.com/facebook/cre
|
||||
Ensure that line 14 in [store.js](https://github.com/sensebox/React-Ardublockly/blob/master/src/store.js#L14) is commented out or otherwise you have installed [Redux DevTools Extension](http://extension.remotedev.io/).
|
||||
|
||||
## Demo
|
||||
A demo of the current status of the master branch can be accessed via [sensebox-ardublockly.netlify.app](https://sensebox-ardublockly.netlify.app/) :rocket:.
|
||||
* [Home](https://sensebox-ardublockly.netlify.app/)
|
||||
* [Tutorial Overview](https://sensebox-ardublockly.netlify.app/tutorial)
|
||||
* [Tutorial-Builder](https://sensebox-ardublockly.netlify.app/tutorial/builder)
|
||||
A demo of the current status of the master branch can be accessed via [https://blockly-react.netlify.app/](https://blockly-react.netlify.app/) :rocket:.
|
||||
|
@ -26,7 +26,7 @@
|
||||
"markdown-it": "^12.3.2",
|
||||
"mnemonic-id": "^3.2.7",
|
||||
"moment": "^2.28.0",
|
||||
"prismjs": "^1.25.0",
|
||||
"prismjs": "^1.27.0",
|
||||
"react": "^17.0.2",
|
||||
"react-cookie-consent": "^7.2.1",
|
||||
"react-dom": "^17.0.2",
|
||||
|
@ -10,248 +10,271 @@
|
||||
*
|
||||
* TODO: maybe change this to a "PIN" BlocklyType
|
||||
*/
|
||||
import Blockly from 'blockly/core';
|
||||
import { selectedBoard } from '../helpers/board'
|
||||
import * as Types from '../helpers/types'
|
||||
import Blockly from "blockly/core";
|
||||
import { selectedBoard } from "../helpers/board";
|
||||
import * as Types from "../helpers/types";
|
||||
|
||||
|
||||
Blockly.Blocks['io_digitalwrite'] = {
|
||||
/**
|
||||
* Block for creating a 'set pin' to a state.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setHelpUrl('http://arduino.cc/en/Reference/DigitalWrite');
|
||||
this.setColour(250);
|
||||
this.appendValueInput('STATE')
|
||||
.appendField(Blockly.Msg.ARD_DIGITALWRITE)
|
||||
.appendField(new Blockly.FieldDropdown(
|
||||
selectedBoard().digitalPins), 'PIN')
|
||||
.appendField(Blockly.Msg.ARD_WRITE_TO)
|
||||
.setCheck(Types.BOOLEAN.checkList);
|
||||
this.setInputsInline(false);
|
||||
this.setPreviousStatement(true, null);
|
||||
this.setNextStatement(true, null);
|
||||
this.setTooltip(Blockly.Msg.ARD_DIGITALWRITE_TIP);
|
||||
},
|
||||
/**
|
||||
* Updates the content of the the pin related fields.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
updateFields: function () {
|
||||
Blockly.Arduino.Boards.refreshBlockFieldDropdown(
|
||||
this, 'PIN', 'digitalPins');
|
||||
}
|
||||
Blockly.Blocks["io_digitalwrite"] = {
|
||||
/**
|
||||
* Block for creating a 'set pin' to a state.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setHelpUrl("http://arduino.cc/en/Reference/DigitalWrite");
|
||||
this.setColour(250);
|
||||
this.appendValueInput("STATE")
|
||||
.appendField(Blockly.Msg.ARD_DIGITALWRITE)
|
||||
.appendField(
|
||||
new Blockly.FieldDropdown(selectedBoard().digitalPins),
|
||||
"PIN"
|
||||
)
|
||||
.appendField(Blockly.Msg.ARD_WRITE_TO)
|
||||
.setCheck(Types.BOOLEAN.checkList);
|
||||
this.setInputsInline(false);
|
||||
this.setPreviousStatement(true, null);
|
||||
this.setNextStatement(true, null);
|
||||
this.setTooltip(Blockly.Msg.ARD_DIGITALWRITE_TIP);
|
||||
},
|
||||
/**
|
||||
* Updates the content of the the pin related fields.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
updateFields: function () {
|
||||
Blockly.Arduino.Boards.refreshBlockFieldDropdown(
|
||||
this,
|
||||
"PIN",
|
||||
"digitalPins"
|
||||
);
|
||||
},
|
||||
};
|
||||
|
||||
Blockly.Blocks['io_digitalread'] = {
|
||||
/**
|
||||
* Block for creating a 'read pin'.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setHelpUrl('http://arduino.cc/en/Reference/DigitalRead');
|
||||
this.setColour(250);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.ARD_DIGITALREAD)
|
||||
.appendField(new Blockly.FieldDropdown(
|
||||
selectedBoard().digitalPins), 'PIN');
|
||||
this.setOutput(true, 'boolean');
|
||||
this.setTooltip(Blockly.Msg.ARD_DIGITALREAD_TIP);
|
||||
},
|
||||
/** @return {!string} The type of return value for the block, an integer. */
|
||||
getBlockType: function () {
|
||||
return Types.BOOLEAN;
|
||||
},
|
||||
/**
|
||||
* Updates the content of the the pin related fields.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
updateFields: function () {
|
||||
Blockly.Arduino.Boards.refreshBlockFieldDropdown(
|
||||
this, 'PIN', 'digitalPins');
|
||||
}
|
||||
Blockly.Blocks["io_digitalread"] = {
|
||||
/**
|
||||
* Block for creating a 'read pin'.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setHelpUrl("http://arduino.cc/en/Reference/DigitalRead");
|
||||
this.setColour(250);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.ARD_DIGITALREAD)
|
||||
.appendField(
|
||||
new Blockly.FieldDropdown(selectedBoard().digitalPins),
|
||||
"PIN"
|
||||
);
|
||||
this.setOutput(true, "boolean");
|
||||
this.setTooltip(Blockly.Msg.ARD_DIGITALREAD_TIP);
|
||||
},
|
||||
/** @return {!string} The type of return value for the block, an integer. */
|
||||
getBlockType: function () {
|
||||
return Types.BOOLEAN;
|
||||
},
|
||||
/**
|
||||
* Updates the content of the the pin related fields.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
updateFields: function () {
|
||||
Blockly.Arduino.Boards.refreshBlockFieldDropdown(
|
||||
this,
|
||||
"PIN",
|
||||
"digitalPins"
|
||||
);
|
||||
},
|
||||
};
|
||||
|
||||
Blockly.Blocks['io_builtin_led'] = {
|
||||
/**
|
||||
* Block for setting built-in LED to a state.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setHelpUrl('http://arduino.cc/en/Reference/DigitalWrite');
|
||||
this.setColour(250);
|
||||
this.appendValueInput('STATE')
|
||||
.appendField(Blockly.Msg.ARD_BUILTIN_LED)
|
||||
.appendField(new Blockly.FieldDropdown(
|
||||
selectedBoard().builtinLed), 'BUILT_IN_LED')
|
||||
.appendField(Blockly.Msg.ARD_WRITE_TO)
|
||||
.setCheck(Types.BOOLEAN.compatibleTypes);
|
||||
this.setInputsInline(false);
|
||||
this.setPreviousStatement(true, null);
|
||||
this.setNextStatement(true, null);
|
||||
this.setTooltip(Blockly.Msg.ARD_BUILTIN_LED_TIP);
|
||||
},
|
||||
/**
|
||||
* Updates the content of the the pin related fields.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
updateFields: function () {
|
||||
Blockly.Arduino.Boards.refreshBlockFieldDropdown(
|
||||
this, 'BUILT_IN_LED', 'builtinLed');
|
||||
},
|
||||
/** @return {!string} The type of input value for the block, an integer. */
|
||||
getBlockType: function () {
|
||||
return Types.BOOLEAN;
|
||||
},
|
||||
Blockly.Blocks["io_builtin_led"] = {
|
||||
/**
|
||||
* Block for setting built-in LED to a state.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setHelpUrl("http://arduino.cc/en/Reference/DigitalWrite");
|
||||
this.setColour(250);
|
||||
this.appendValueInput("STATE")
|
||||
.appendField(Blockly.Msg.ARD_BUILTIN_LED)
|
||||
.appendField(
|
||||
new Blockly.FieldDropdown(selectedBoard().builtinLed),
|
||||
"BUILT_IN_LED"
|
||||
)
|
||||
.appendField(Blockly.Msg.ARD_WRITE_TO)
|
||||
.setCheck(Types.BOOLEAN.compatibleTypes);
|
||||
this.setInputsInline(false);
|
||||
this.setPreviousStatement(true, null);
|
||||
this.setNextStatement(true, null);
|
||||
this.setTooltip(Blockly.Msg.ARD_BUILTIN_LED_TIP);
|
||||
},
|
||||
/**
|
||||
* Updates the content of the the pin related fields.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
updateFields: function () {
|
||||
Blockly.Arduino.Boards.refreshBlockFieldDropdown(
|
||||
this,
|
||||
"BUILT_IN_LED",
|
||||
"builtinLed"
|
||||
);
|
||||
},
|
||||
/** @return {!string} The type of input value for the block, an integer. */
|
||||
getBlockType: function () {
|
||||
return Types.BOOLEAN;
|
||||
},
|
||||
};
|
||||
|
||||
Blockly.Blocks['io_analogwrite'] = {
|
||||
/**
|
||||
* Block for creating a 'set pin' to an analogue value.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setHelpUrl('http://arduino.cc/en/Reference/AnalogWrite');
|
||||
this.setColour(250);
|
||||
this.appendValueInput('NUM')
|
||||
.appendField(Blockly.Msg.ARD_ANALOGWRITE)
|
||||
.appendField(new Blockly.FieldDropdown(
|
||||
selectedBoard().pwmPins), 'PIN')
|
||||
.appendField(Blockly.Msg.ARD_WRITE_TO)
|
||||
.setCheck(Types.NUMBER.compatibleTypes);
|
||||
this.setInputsInline(false);
|
||||
this.setPreviousStatement(true, null);
|
||||
this.setNextStatement(true, null);
|
||||
this.setTooltip(Blockly.Msg.ARD_ANALOGWRITE_TIP);
|
||||
},
|
||||
/**
|
||||
* Updates the content of the the pin related fields.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
updateFields: function () {
|
||||
Blockly.Arduino.Boards.refreshBlockFieldDropdown(this, 'PIN', 'pwmPins');
|
||||
},
|
||||
/** @return {!string} The type of input value for the block, an integer. */
|
||||
getBlockType: function () {
|
||||
return Types.NUMBER;
|
||||
},
|
||||
Blockly.Blocks["io_analogwrite"] = {
|
||||
/**
|
||||
* Block for creating a 'set pin' to an analogue value.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setHelpUrl("http://arduino.cc/en/Reference/AnalogWrite");
|
||||
this.setColour(250);
|
||||
this.appendValueInput("NUM")
|
||||
.appendField(Blockly.Msg.ARD_ANALOGWRITE)
|
||||
.appendField(new Blockly.FieldDropdown(selectedBoard().pwmPins), "PIN")
|
||||
.appendField(Blockly.Msg.ARD_WRITE_TO)
|
||||
.setCheck(Types.NUMBER.compatibleTypes);
|
||||
this.setInputsInline(false);
|
||||
this.setPreviousStatement(true, null);
|
||||
this.setNextStatement(true, null);
|
||||
this.setTooltip(Blockly.Msg.ARD_ANALOGWRITE_TIP);
|
||||
},
|
||||
/**
|
||||
* Updates the content of the the pin related fields.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
updateFields: function () {
|
||||
Blockly.Arduino.Boards.refreshBlockFieldDropdown(this, "PIN", "pwmPins");
|
||||
},
|
||||
/** @return {!string} The type of input value for the block, an integer. */
|
||||
getBlockType: function () {
|
||||
return Types.NUMBER;
|
||||
},
|
||||
};
|
||||
|
||||
Blockly.Blocks['io_analogread'] = {
|
||||
/**
|
||||
* Block for reading an analogue input.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setHelpUrl('http://arduino.cc/en/Reference/AnalogRead');
|
||||
this.setColour(250);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.ARD_ANALOGREAD)
|
||||
.appendField(new Blockly.FieldDropdown(
|
||||
selectedBoard().analogPins), 'PIN');
|
||||
this.setOutput(true, Types.NUMBER.typeId);
|
||||
this.setTooltip(Blockly.Msg.ARD_ANALOGREAD_TIP);
|
||||
},
|
||||
/** @return {!string} The type of return value for the block, an integer. */
|
||||
getBlockType: function () {
|
||||
return Types.NUMBER.typeId;
|
||||
},
|
||||
/**
|
||||
* Updates the content of the the pin related fields.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
updateFields: function () {
|
||||
Blockly.Arduino.Boards.refreshBlockFieldDropdown(this, 'PIN', 'analogPins');
|
||||
}
|
||||
Blockly.Blocks["io_analogread"] = {
|
||||
/**
|
||||
* Block for reading an analogue input.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setHelpUrl("http://arduino.cc/en/Reference/AnalogRead");
|
||||
this.setColour(250);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.ARD_ANALOGREAD)
|
||||
.appendField(
|
||||
new Blockly.FieldDropdown(selectedBoard().analogPins),
|
||||
"PIN"
|
||||
);
|
||||
this.setOutput(true, Types.NUMBER.typeName);
|
||||
this.setTooltip(Blockly.Msg.ARD_ANALOGREAD_TIP);
|
||||
},
|
||||
/** @return {!string} The type of return value for the block, an integer. */
|
||||
getBlockType: function () {
|
||||
return Types.NUMBER.typeName;
|
||||
},
|
||||
/**
|
||||
* Updates the content of the the pin related fields.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
updateFields: function () {
|
||||
Blockly.Arduino.Boards.refreshBlockFieldDropdown(this, "PIN", "analogPins");
|
||||
},
|
||||
};
|
||||
|
||||
Blockly.Blocks['io_highlow'] = {
|
||||
/**
|
||||
* Block for creating a pin state.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setHelpUrl('http://arduino.cc/en/Reference/Constants');
|
||||
this.setColour(250);
|
||||
this.appendDummyInput()
|
||||
.appendField(
|
||||
new Blockly.FieldDropdown([[Blockly.Msg.ARD_HIGH, 'HIGH'], [Blockly.Msg.ARD_LOW, 'LOW']]),
|
||||
'STATE');
|
||||
this.setOutput(true, Types.BOOLEAN.typeId);
|
||||
this.setTooltip(Blockly.Msg.ARD_HIGHLOW_TIP);
|
||||
},
|
||||
/** @return {!string} The type of return value for the block, an integer. */
|
||||
getBlockType: function () {
|
||||
return Types.BOOLEAN;
|
||||
}
|
||||
Blockly.Blocks["io_highlow"] = {
|
||||
/**
|
||||
* Block for creating a pin state.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setHelpUrl("http://arduino.cc/en/Reference/Constants");
|
||||
this.setColour(250);
|
||||
this.appendDummyInput().appendField(
|
||||
new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.ARD_HIGH, "HIGH"],
|
||||
[Blockly.Msg.ARD_LOW, "LOW"],
|
||||
]),
|
||||
"STATE"
|
||||
);
|
||||
this.setOutput(true, Types.BOOLEAN.typeName);
|
||||
this.setTooltip(Blockly.Msg.ARD_HIGHLOW_TIP);
|
||||
},
|
||||
/** @return {!string} The type of return value for the block, an integer. */
|
||||
getBlockType: function () {
|
||||
return Types.BOOLEAN;
|
||||
},
|
||||
};
|
||||
|
||||
Blockly.Blocks['io_pulsein'] = {
|
||||
/**
|
||||
* Block for measuring the duration of a pulse in an input pin.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.jsonInit({
|
||||
"type": "math_foo",
|
||||
"message0": Blockly.Msg.ARD_PULSE_READ,
|
||||
"args0": [{
|
||||
"type": "input_value",
|
||||
"name": "PULSETYPE",
|
||||
"check": Types.BOOLEAN.compatibleTypes
|
||||
}, {
|
||||
"type": "field_dropdown",
|
||||
"name": "PULSEPIN",
|
||||
"options": selectedBoard().digitalPins,
|
||||
}
|
||||
],
|
||||
"output": Types.NUMBER.typeId,
|
||||
"inputsInline": true,
|
||||
"colour": 250,
|
||||
"tooltip": Blockly.Msg.ARD_PULSE_TIP,
|
||||
"helpUrl": 'https://www.arduino.cc/en/Reference/PulseIn'
|
||||
});
|
||||
},
|
||||
/** @return {!string} The type of input value for the block, an integer. */
|
||||
getBlockType: function () {
|
||||
return Types.NUMBER.typeId;
|
||||
}
|
||||
Blockly.Blocks["io_pulsein"] = {
|
||||
/**
|
||||
* Block for measuring the duration of a pulse in an input pin.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.jsonInit({
|
||||
type: "math_foo",
|
||||
message0: Blockly.Msg.ARD_PULSE_READ,
|
||||
args0: [
|
||||
{
|
||||
type: "input_value",
|
||||
name: "PULSETYPE",
|
||||
check: Types.BOOLEAN.compatibleTypes,
|
||||
},
|
||||
{
|
||||
type: "field_dropdown",
|
||||
name: "PULSEPIN",
|
||||
options: selectedBoard().digitalPins,
|
||||
},
|
||||
],
|
||||
output: Types.NUMBER.typeName,
|
||||
inputsInline: true,
|
||||
colour: 250,
|
||||
tooltip: Blockly.Msg.ARD_PULSE_TIP,
|
||||
helpUrl: "https://www.arduino.cc/en/Reference/PulseIn",
|
||||
});
|
||||
},
|
||||
/** @return {!string} The type of input value for the block, an integer. */
|
||||
getBlockType: function () {
|
||||
return Types.NUMBER.typeName;
|
||||
},
|
||||
};
|
||||
|
||||
Blockly.Blocks['io_pulsetimeout'] = {
|
||||
/**
|
||||
* Block for measuring (with a time-out) the duration of a pulse in an input
|
||||
* pin.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.jsonInit({
|
||||
"type": "math_foo",
|
||||
"message0": Blockly.Msg.ARD_PULSE_READ_TIMEOUT,
|
||||
"args0": [{
|
||||
"type": "input_value",
|
||||
"name": "PULSETYPE",
|
||||
"check": Types.BOOLEAN.compatibleTypes
|
||||
}, {
|
||||
"type": "field_dropdown",
|
||||
"name": "PULSEPIN",
|
||||
"options": selectedBoard().digitalPins,
|
||||
}, {
|
||||
"type": "input_value",
|
||||
"name": "TIMEOUT",
|
||||
"check": Types.NUMBER.compatibleTypes
|
||||
}
|
||||
],
|
||||
"output": Types.NUMBER.typeId,
|
||||
"inputsInline": true,
|
||||
"colour": 250,
|
||||
"tooltip": Blockly.Msg.ARD_PULSETIMEOUT_TIP,
|
||||
"helpUrl": 'https://www.arduino.cc/en/Reference/PulseIn'
|
||||
});
|
||||
},
|
||||
/** @return {!string} The type of input value for the block, an integer. */
|
||||
getBlockType: function () {
|
||||
return Types.NUMBER.typeId;
|
||||
}
|
||||
Blockly.Blocks["io_pulsetimeout"] = {
|
||||
/**
|
||||
* Block for measuring (with a time-out) the duration of a pulse in an input
|
||||
* pin.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.jsonInit({
|
||||
type: "math_foo",
|
||||
message0: Blockly.Msg.ARD_PULSE_READ_TIMEOUT,
|
||||
args0: [
|
||||
{
|
||||
type: "input_value",
|
||||
name: "PULSETYPE",
|
||||
check: Types.BOOLEAN.compatibleTypes,
|
||||
},
|
||||
{
|
||||
type: "field_dropdown",
|
||||
name: "PULSEPIN",
|
||||
options: selectedBoard().digitalPins,
|
||||
},
|
||||
{
|
||||
type: "input_value",
|
||||
name: "TIMEOUT",
|
||||
check: Types.NUMBER.compatibleTypes,
|
||||
},
|
||||
],
|
||||
output: Types.NUMBER.typeName,
|
||||
inputsInline: true,
|
||||
colour: 250,
|
||||
tooltip: Blockly.Msg.ARD_PULSETIMEOUT_TIP,
|
||||
helpUrl: "https://www.arduino.cc/en/Reference/PulseIn",
|
||||
});
|
||||
},
|
||||
/** @return {!string} The type of input value for the block, an integer. */
|
||||
getBlockType: function () {
|
||||
return Types.NUMBER.typeName;
|
||||
},
|
||||
};
|
||||
|
@ -1,59 +1,54 @@
|
||||
import Blockly, { FieldDropdown } from 'blockly/core'
|
||||
import * as Types from '../helpers/types'
|
||||
import { getColour } from '../helpers/colour';
|
||||
import Blockly, { FieldDropdown } from "blockly/core";
|
||||
import * as Types from "../helpers/types";
|
||||
import { getColour } from "../helpers/colour";
|
||||
|
||||
Blockly.Blocks['lists_create_empty'] = {
|
||||
/**
|
||||
* Elapsed time in milliseconds block definition
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setHelpUrl('http://arduino.cc/en/Reference/Millis');
|
||||
this.setColour(getColour().arrays);
|
||||
this.appendDummyInput()
|
||||
.appendField("create List with")
|
||||
this.appendValueInput('NUMBER');
|
||||
this.appendDummyInput()
|
||||
.appendField("Items of Type")
|
||||
.appendField(new FieldDropdown(Types.VARIABLE_TYPES), 'type');
|
||||
this.setOutput(true, Types.ARRAY.typeId);
|
||||
this.setTooltip(Blockly.Msg.ARD_TIME_MILLIS_TIP);
|
||||
},
|
||||
Blockly.Blocks["lists_create_empty"] = {
|
||||
/**
|
||||
* Elapsed time in milliseconds block definition
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setHelpUrl("http://arduino.cc/en/Reference/Millis");
|
||||
this.setColour(getColour().arrays);
|
||||
this.appendDummyInput().appendField("create List with");
|
||||
this.appendValueInput("NUMBER");
|
||||
this.appendDummyInput()
|
||||
.appendField("Items of Type")
|
||||
.appendField(new FieldDropdown(Types.VARIABLE_TYPES), "type");
|
||||
this.setOutput(true, Types.ARRAY.typeName);
|
||||
this.setTooltip(Blockly.Msg.ARD_TIME_MILLIS_TIP);
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
Blockly.Blocks['array_getIndex'] = {
|
||||
/**
|
||||
* Elapsed time in milliseconds block definition
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setHelpUrl('http://arduino.cc/en/Reference/Millis');
|
||||
this.setColour(getColour().arrays);
|
||||
this.appendDummyInput()
|
||||
.appendField(new Blockly.FieldVariable(
|
||||
'X',
|
||||
null,
|
||||
['Array'],
|
||||
'Array'
|
||||
), 'FIELDNAME');
|
||||
this.setOutput(true, Types.ARRAY.typeId);
|
||||
this.setTooltip(Blockly.Msg.ARD_TIME_MILLIS_TIP);
|
||||
},
|
||||
Blockly.Blocks["array_getIndex"] = {
|
||||
/**
|
||||
* Elapsed time in milliseconds block definition
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setHelpUrl("http://arduino.cc/en/Reference/Millis");
|
||||
this.setColour(getColour().arrays);
|
||||
this.appendDummyInput().appendField(
|
||||
new Blockly.FieldVariable("X", null, ["Array"], "Array"),
|
||||
"FIELDNAME"
|
||||
);
|
||||
this.setOutput(true, Types.ARRAY.typeName);
|
||||
this.setTooltip(Blockly.Msg.ARD_TIME_MILLIS_TIP);
|
||||
},
|
||||
};
|
||||
|
||||
Blockly.Blocks['lists_length'] = {
|
||||
/**
|
||||
* Elapsed time in milliseconds block definition
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setHelpUrl('http://arduino.cc/en/Reference/Millis');
|
||||
this.setColour(getColour().arrays);
|
||||
this.appendValueInput('ARRAY')
|
||||
.appendField('length of')
|
||||
.setCheck(Types.ARRAY.compatibleTypes);
|
||||
this.setOutput(true, Types.NUMBER.typeName);
|
||||
this.setTooltip(Blockly.Msg.ARD_TIME_MILLIS_TIP);
|
||||
},
|
||||
Blockly.Blocks["lists_length"] = {
|
||||
/**
|
||||
* Elapsed time in milliseconds block definition
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setHelpUrl("http://arduino.cc/en/Reference/Millis");
|
||||
this.setColour(getColour().arrays);
|
||||
this.appendValueInput("ARRAY")
|
||||
.appendField("length of")
|
||||
.setCheck(Types.ARRAY.compatibleTypes);
|
||||
this.setOutput(true, Types.NUMBER.typeName);
|
||||
this.setTooltip(Blockly.Msg.ARD_TIME_MILLIS_TIP);
|
||||
},
|
||||
};
|
@ -11,40 +11,39 @@
|
||||
* TODO: This block can be improved to set the new range properly.
|
||||
*/
|
||||
|
||||
import * as Blockly from "blockly/core";
|
||||
import { getColour } from "../helpers/colour";
|
||||
import * as Types from "../helpers/types";
|
||||
|
||||
import * as Blockly from 'blockly/core';
|
||||
import { getColour } from '../helpers/colour';
|
||||
import * as Types from '../helpers/types'
|
||||
|
||||
Blockly.Blocks['base_map'] = {
|
||||
/**
|
||||
* Block for creating a the map function.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setHelpUrl('http://arduino.cc/en/Reference/map');
|
||||
this.setColour(getColour().math);
|
||||
this.appendValueInput('NUM')
|
||||
.appendField(Blockly.Msg.ARD_MAP)
|
||||
.setCheck(Types.NUMBER.compatibleTypes);
|
||||
this.appendValueInput('FMIN')
|
||||
.appendField(Blockly.Msg.ARD_MAP_FROMMIN)
|
||||
.setCheck(Types.NUMBER.compatibleTypes);
|
||||
this.appendValueInput('FMAX')
|
||||
.appendField(Blockly.Msg.ARD_MAP_FROMMAX)
|
||||
.setCheck(Types.NUMBER.compatibleTypes);
|
||||
this.appendValueInput('DMIN')
|
||||
.appendField(Blockly.Msg.ARD_MAP_TOMIN)
|
||||
.setCheck(Types.NUMBER.compatibleTypes);
|
||||
this.appendValueInput('DMAX')
|
||||
.appendField(Blockly.Msg.ARD_MAP_TOMAX)
|
||||
.setCheck(Types.NUMBER.compatibleTypes);
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(false);
|
||||
this.setTooltip(Blockly.Msg.ARD_MAP_TIP);
|
||||
},
|
||||
/** @return {string} The type of return value for the block, an integer. */
|
||||
getBlockType: function () {
|
||||
return Types.NUMBER.typeId;
|
||||
}
|
||||
Blockly.Blocks["base_map"] = {
|
||||
/**
|
||||
* Block for creating a the map function.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setHelpUrl("http://arduino.cc/en/Reference/map");
|
||||
this.setColour(getColour().math);
|
||||
this.appendValueInput("NUM")
|
||||
.appendField(Blockly.Msg.ARD_MAP)
|
||||
.setCheck(Types.NUMBER.compatibleTypes);
|
||||
this.appendValueInput("FMIN")
|
||||
.appendField(Blockly.Msg.ARD_MAP_FROMMIN)
|
||||
.setCheck(Types.NUMBER.compatibleTypes);
|
||||
this.appendValueInput("FMAX")
|
||||
.appendField(Blockly.Msg.ARD_MAP_FROMMAX)
|
||||
.setCheck(Types.NUMBER.compatibleTypes);
|
||||
this.appendValueInput("DMIN")
|
||||
.appendField(Blockly.Msg.ARD_MAP_TOMIN)
|
||||
.setCheck(Types.NUMBER.compatibleTypes);
|
||||
this.appendValueInput("DMAX")
|
||||
.appendField(Blockly.Msg.ARD_MAP_TOMAX)
|
||||
.setCheck(Types.NUMBER.compatibleTypes);
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(false);
|
||||
this.setTooltip(Blockly.Msg.ARD_MAP_TIP);
|
||||
},
|
||||
/** @return {string} The type of return value for the block, an integer. */
|
||||
getBlockType: function () {
|
||||
return Types.NUMBER.typeName;
|
||||
},
|
||||
};
|
||||
|
@ -65,8 +65,8 @@ Blockly.Blocks["sensebox_phyphox_graph"] = {
|
||||
.appendField(Blockly.Msg.sensebox_phyphox_graphStyle)
|
||||
.appendField(
|
||||
new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.sensebox_phyphox_style_dots, "dots"],
|
||||
[Blockly.Msg.sensebox_phyphox_style_line, "line"],
|
||||
[Blockly.Msg.sensebox_phyphox_style_dots, "dots"],
|
||||
]),
|
||||
"style"
|
||||
);
|
||||
|
@ -62,7 +62,7 @@ Blockly.Blocks["sensebox_rtc_get"] = {
|
||||
]),
|
||||
"dropdown"
|
||||
);
|
||||
this.setOutput(true, Types.LARGE_NUMBER.typeId);
|
||||
this.setOutput(true, Types.LARGE_NUMBER.typeName);
|
||||
this.setTooltip(Blockly.Msg.sensebox_rtc_get_tooltip);
|
||||
},
|
||||
};
|
||||
|
@ -330,7 +330,6 @@ Blockly.Blocks["sensebox_button"] = {
|
||||
new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.senseBox_button_isPressed, "isPressed"],
|
||||
[Blockly.Msg.senseBox_button_wasPressed, "wasPressed"],
|
||||
[Blockly.Msg.senseBox_button_switch, "Switch"],
|
||||
[Blockly.Msg.senseBox_button_longPress, "longPress"],
|
||||
]),
|
||||
"FUNCTION"
|
||||
|
@ -59,7 +59,7 @@ Blockly.Blocks["time_millis"] = {
|
||||
this.setHelpUrl("http://arduino.cc/en/Reference/Millis");
|
||||
this.setColour(getColour().time);
|
||||
this.appendDummyInput().appendField(Blockly.Msg.ARD_TIME_MILLIS);
|
||||
this.setOutput(true, Types.LARGE_NUMBER.typeId);
|
||||
this.setOutput(true, Types.LARGE_NUMBER.typeName);
|
||||
this.setTooltip(Blockly.Msg.ARD_TIME_MILLIS_TIP);
|
||||
},
|
||||
/** @return {string} The type of return value for the block, an integer. */
|
||||
@ -77,7 +77,7 @@ Blockly.Blocks["time_micros"] = {
|
||||
this.setHelpUrl("http://arduino.cc/en/Reference/Micros");
|
||||
this.setColour(getColour().time);
|
||||
this.appendDummyInput().appendField(Blockly.Msg.ARD_TIME_MICROS);
|
||||
this.setOutput(true, Types.LARGE_NUMBER.typeId);
|
||||
this.setOutput(true, Types.LARGE_NUMBER.typeName);
|
||||
this.setTooltip(Blockly.Msg.ARD_TIME_MICROS_TIP);
|
||||
},
|
||||
/**
|
||||
|
@ -13,9 +13,9 @@ Blockly.Arduino.sensebox_mqtt_setup = function () {
|
||||
service = this.getFieldValue("service");
|
||||
Blockly.Arduino.libraries_["library_senseBoxIO"] = "#include <senseBoxIO.h>";
|
||||
Blockly.Arduino.libraries_["library_adafruitmqtt"] =
|
||||
'#include "Adafruit_MQTT.h //http://librarymanager/All#Adafruit_MQTT_Library"';
|
||||
'#include <Adafruit_MQTT.h> //http://librarymanager/All#Adafruit_MQTT_Library"';
|
||||
Blockly.Arduino.libraries_["library_adafruitmqttclient"] =
|
||||
'#include "Adafruit_MQTT_Client.h"';
|
||||
'#include <Adafruit_MQTT_Client.h>';
|
||||
Blockly.Arduino.definitions_["mqtt_server"] =
|
||||
'#define SERVER "' + server + '"';
|
||||
Blockly.Arduino.definitions_["mqtt_port"] =
|
||||
|
@ -90,7 +90,9 @@ Blockly.Arduino.sensebox_phyphox_graph = function () {
|
||||
code += `${label}.setUnitY("${unity}");\n`;
|
||||
code += `${label}.setLabelX("${labelx}");\n`;
|
||||
code += `${label}.setLabelY("${labely}");\n`;
|
||||
code += `${label}.setStyle("${style}");\n`;
|
||||
if (style === "dots"){
|
||||
code += `${label}.setStyle("${style}");\n`;
|
||||
}
|
||||
code += `${label}.setChannel(${channelX}, ${channelY});\n`;
|
||||
code += `firstView.addElement(${label});\n`;
|
||||
return code;
|
||||
|
@ -13,7 +13,7 @@ Blockly.Arduino.sensebox_display_beginDisplay = function () {
|
||||
"define_display_size"
|
||||
] = `#define SCREEN_WIDTH 128\n#define SCREEN_HEIGHT 64`;
|
||||
Blockly.Arduino.definitions_["define_display"] =
|
||||
"#define OLED_RESET 4\nAdafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);";
|
||||
"#define OLED_RESET -1\nAdafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);";
|
||||
|
||||
Blockly.Arduino.setupCode_["sensebox_display_begin"] =
|
||||
"senseBoxIO.powerI2C(true);\ndelay(2000);\ndisplay.begin(SSD1306_SWITCHCAPVCC, 0x3D);\ndisplay.display();\ndelay(100);\ndisplay.clearDisplay();";
|
||||
|
@ -3,6 +3,7 @@ import * as Blockly from 'blockly/core';
|
||||
Blockly.Arduino.sensebox_led = function () {
|
||||
var dropdown_pin = this.getFieldValue('PIN');
|
||||
var dropdown_stat = this.getFieldValue('STAT');
|
||||
Blockly.Arduino.libraries_["library_senseBoxIO"] = "#include <senseBoxIO.h>";
|
||||
Blockly.Arduino.setupCode_['setup_led_' + dropdown_pin] = 'pinMode(' + dropdown_pin + ', OUTPUT);';
|
||||
var code = 'digitalWrite(' + dropdown_pin + ',' + dropdown_stat + ');\n'
|
||||
return code;
|
||||
@ -11,6 +12,7 @@ Blockly.Arduino.sensebox_led = function () {
|
||||
Blockly.Arduino.sensebox_rgb_led = function () {
|
||||
var dropdown_pin = this.getFieldValue('PIN');
|
||||
var color = Blockly.Arduino.valueToCode(this, 'COLOR', Blockly.Arduino.ORDER_ATOMIC) || '0'
|
||||
Blockly.Arduino.libraries_["library_senseBoxIO"] = "#include <senseBoxIO.h>";
|
||||
Blockly.Arduino.libraries_['define_rgb_led' + dropdown_pin] = '#include <Adafruit_NeoPixel.h>\n Adafruit_NeoPixel rgb_led_' + dropdown_pin + ' = Adafruit_NeoPixel(1,' + dropdown_pin + ',NEO_RGB + NEO_KHZ800);\n';
|
||||
Blockly.Arduino.setupCode_['setup_rgb_led' + dropdown_pin] = 'rgb_led_' + dropdown_pin + '.begin();';
|
||||
var code = 'rgb_led_' + dropdown_pin + '.setPixelColor(0,rgb_led_' + dropdown_pin + '.Color(' + color + '));\n';
|
||||
@ -23,6 +25,7 @@ Blockly.Arduino.sensebox_ws2818_led_init = function () {
|
||||
var dropdown_pin = this.getFieldValue('Port');
|
||||
var numPixel = Blockly.Arduino.valueToCode(this, 'NUMBER', Blockly.Arduino.ORDER_ATOMIC) || '1';
|
||||
var brightness = Blockly.Arduino.valueToCode(this, 'BRIGHTNESS', Blockly.Arduino.ORDER_ATOMIC) || '50'
|
||||
Blockly.Arduino.libraries_["library_senseBoxIO"] = "#include <senseBoxIO.h>";
|
||||
Blockly.Arduino.definitions_['define_rgb_led' + dropdown_pin] = `#include <Adafruit_NeoPixel.h>\n Adafruit_NeoPixel rgb_led_${dropdown_pin}= Adafruit_NeoPixel(${numPixel}, ${dropdown_pin},NEO_GRB + NEO_KHZ800);\n`;
|
||||
Blockly.Arduino.setupCode_['setup_rgb_led' + dropdown_pin] = 'rgb_led_' + dropdown_pin + '.begin();\n';
|
||||
Blockly.Arduino.setupCode_['setup_rgb_led_brightness' + dropdown_pin] = `rgb_led_${dropdown_pin}.setBrightness(${brightness});\n`;
|
||||
@ -30,6 +33,7 @@ Blockly.Arduino.sensebox_ws2818_led_init = function () {
|
||||
};
|
||||
|
||||
Blockly.Arduino.sensebox_ws2818_led = function () {
|
||||
Blockly.Arduino.libraries_["library_senseBoxIO"] = "#include <senseBoxIO.h>";
|
||||
var dropdown_pin = this.getFieldValue('Port');
|
||||
var position = Blockly.Arduino.valueToCode(this, 'POSITION', Blockly.Arduino.ORDER_ATOMIC) || '0';
|
||||
var color = Blockly.Arduino.valueToCode(this, 'COLOR', Blockly.Arduino.ORDER_ATOMIC) || '0'
|
||||
@ -48,6 +52,7 @@ function hexToRgb(hex) {
|
||||
}
|
||||
|
||||
Blockly.Arduino['colour_picker'] = function (block) {
|
||||
Blockly.Arduino.libraries_["library_senseBoxIO"] = "#include <senseBoxIO.h>";
|
||||
const rgb = hexToRgb(block.getFieldValue('COLOUR'));
|
||||
|
||||
return [rgb.r + ', ' + rgb.g + ', ' + rgb.b, Blockly.Arduino.ORDER_ATOMIC];
|
||||
@ -58,6 +63,7 @@ Blockly.Arduino['colour_random'] = function (block) {
|
||||
};
|
||||
|
||||
Blockly.Arduino['colour_rgb'] = function (block) {
|
||||
Blockly.Arduino.libraries_["library_senseBoxIO"] = "#include <senseBoxIO.h>";
|
||||
const red = Blockly.Arduino.valueToCode(block, 'RED', Blockly.Arduino.ORDER_ATOMIC);
|
||||
const green = Blockly.Arduino.valueToCode(block, 'GREEN', Blockly.Arduino.ORDER_ATOMIC);
|
||||
const blue = Blockly.Arduino.valueToCode(block, 'BLUE', Blockly.Arduino.ORDER_ATOMIC);
|
||||
|
@ -160,11 +160,11 @@ Blockly.Arduino.sensebox_sensor_sds011 = function () {
|
||||
Blockly.Arduino.definitions_["define_sds011"] =
|
||||
"SdsDustSensor sds(" + serial_name + ");";
|
||||
Blockly.Arduino.setupCode_["sds011_begin"] = "sds.begin();";
|
||||
Blockly.Arduino.setupCode_["sds011_setActiveReporting"] =
|
||||
"sds.setActiveReportingMode();";
|
||||
Blockly.Arduino.setupCode_["sds011_setQueryReportingMode"] =
|
||||
"sds.setQueryReportingMode();";
|
||||
Blockly.Arduino.loopCodeOnce_[
|
||||
"sds011_getData"
|
||||
] = `PmResult pm = sds.readPm();`;
|
||||
] = `PmResult pm = sds.queryPm();`;
|
||||
var code = `pm.${dropdown_name}`;
|
||||
return [code, Blockly.Arduino.ORDER_ATOMIC];
|
||||
};
|
||||
@ -183,7 +183,7 @@ Blockly.Arduino.sensebox_sensor_pressure = function () {
|
||||
"adafruit_bmp280"
|
||||
] = `#include <Adafruit_BMP280.h> // http://librarymanager/All#Adafruit_BMP280_Library`;
|
||||
Blockly.Arduino.definitions_["define_pressure"] = "Adafruit_BMP280 bmp;";
|
||||
Blockly.Arduino.setupCode_["sensebox_bmp_sensor"] = "bmp.begin();";
|
||||
Blockly.Arduino.setupCode_["sensebox_bmp_sensor"] = "bmp.begin(0x76);";
|
||||
Blockly.Arduino.setupCode_["bmp_setSampling"] = `
|
||||
bmp.setSampling(Adafruit_BMP280::MODE_NORMAL,
|
||||
Adafruit_BMP280::SAMPLING_X2,
|
||||
@ -408,8 +408,6 @@ Blockly.Arduino.sensebox_button = function () {
|
||||
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()";
|
||||
} else if (dropown_function === "longPress") {
|
||||
|
@ -46,7 +46,7 @@ Blockly.Arduino.sensebox_wifi_rssi = function () {
|
||||
Blockly.Arduino.sensebox_get_ip = function () {
|
||||
Blockly.Arduino.definitions_["define_ipadress"] = "IPAddress ip;";
|
||||
Blockly.Arduino.setupCode_["sensebox_get_ip"] = " ip = WiFi.localIP();";
|
||||
var code = "";
|
||||
var code = "ip";
|
||||
return [code, Blockly.Arduino.ORDER_ATOMIC];
|
||||
};
|
||||
|
||||
|
@ -1,108 +1,118 @@
|
||||
|
||||
export const IO = {
|
||||
|
||||
ARD_ANALOGREAD: "lese analogen Pin#",
|
||||
ARD_ANALOGREAD_TIP: "Gibt einen Wert zwischen 0 und 1024 zurüch",
|
||||
ARD_ANALOGWRITE: "setzte analogen Pin#",
|
||||
ARD_ANALOGWRITE_TIP: "Schreibe analogen Wert zwischen 0 und 255 an einen spezifischen PWM Port",
|
||||
ARD_BUILTIN_LED: "eingebaute LED",
|
||||
ARD_BUILTIN_LED_TIP: "Schaltet die interne LED An oder Aus",
|
||||
ARD_COMPONENT_WARN1: "A %1 configuration block with the same %2 name must be added to use this block!",
|
||||
ARD_DEFINE: "Definiere",
|
||||
ARD_DIGITALREAD: "lesen digitalen Pin#",
|
||||
ARD_DIGITALREAD_TIP: "Lese Wert an digitalen Pin: HIGH(1) oder LOW(0)",
|
||||
ARD_DIGITALWRITE: "setzte digitalen Pin#",
|
||||
ARD_DIGITALWRITE_TIP: "Schreibe digitalen Wert HIGH (1) oder LOW(0) an spezifischen Port",
|
||||
ARD_FUN_RUN_LOOP: "Endlosschleife()",
|
||||
ARD_FUN_RUN_SETUP: "Setup()",
|
||||
ARD_FUN_RUN_TIP: "Definiert die setup() und loop() Funktionen. Die setup()-Funktion wird beim starten **einmal** ausgeführt. Anschließend wir die loop()-Funktion in einer **Endlosschleife** ausgeführt. Füge in die Setup()-Funktion Blöcke ein, um z.B. das Display zu initalisieren, eine Verbindung zum WiFi-Netzwerk herzustellen oder um die LoRa Verbindung zu initialsieren.",
|
||||
ARD_HIGH: "HIGH",
|
||||
ARD_HIGHLOW_TIP: "Setzt einen Status auf HIGH oder LOWSet a pin state logic High or Low.",
|
||||
ARD_LOW: "LOW",
|
||||
ARD_MAP: "Verteile Wert",
|
||||
ARD_MAP_FROMMIN: "von Minimum",
|
||||
ARD_MAP_FROMMAX: "bis maximum",
|
||||
ARD_MAP_TOMIN: "auf Minimum",
|
||||
ARD_MAP_TOMAX: "bis Maximum",
|
||||
ARD_MAP_TIP: "Verteilt Werte zwischen [0-1024] zu andere.",
|
||||
ARD_MAP_VAL: "Wert zu [0-",
|
||||
ARD_NOTONE: "Schalte Ton aus an Pin",
|
||||
ARD_NOTONE_PIN: "keinen Ton an Pin",
|
||||
ARD_NOTONE_PIN_TIP: "Stoppe die Tonerzeugung an Pin",
|
||||
ARD_NOTONE_TIP: "Schaltet den Ton am ausgewählten Pin aus",
|
||||
ARD_PIN_WARN1: "Pin %1 wird benötigt für %2 als Pin %3. Bereitsgenutzt als %4.",
|
||||
ARD_PULSETIMEOUT_TIP: "Misst die Laufzeit eines Impulses am ausgewählten Pin, wenn die Zeit ist in Microsekunden.",
|
||||
ARD_PULSE_READ: "Misst %1 Impuls an Pin #%2",
|
||||
ARD_PULSE_READ_TIMEOUT: "Misst %1 Impuls an Pin #%2 (Unterbrechung nach %3 μs)",
|
||||
ARD_PULSE_TIP: "Misst die Zeit eines Impulses an dem ausgewählten Pin.",
|
||||
ARD_SERIAL_BPS: "bps",
|
||||
ARD_SERIAL_PRINT: "schreibe",
|
||||
ARD_SERIAL_PRINT_NEWLINE: "neue Zeile hinzufügen",
|
||||
ARD_SERIAL_PRINT_TIP: "Prints data to the console/serial port as human-readable ASCII text.", // untranslated
|
||||
ARD_SERIAL_PRINT_WARN: "A setup block for %1 must be added to the workspace to use this block!", // untranslated
|
||||
ARD_SERIAL_SETUP: "Setup",
|
||||
ARD_SERIAL_SETUP_TIP: "Selects the speed for a specific Serial peripheral", // untranslated
|
||||
ARD_SERIAL_SPEED: ": Übertragungsgeschwindigkeit zu",
|
||||
ARD_SERVO_READ: "liest SERVO an PIN#",
|
||||
ARD_SERVO_READ_TIP: "Liest den Winkel des Servomotors aus",
|
||||
ARD_SERVO_WRITE: "setzt SERVO an Pin",
|
||||
ARD_SERVO_WRITE_DEG_180: "Winkel (0~180)",
|
||||
ARD_SERVO_WRITE_TIP: "Set a Servo to an specified angle", // untranslated
|
||||
ARD_SERVO_WRITE_TO: "", // untranslated
|
||||
ARD_SETTONE: "Spiele Ton an Pin", // untranslated
|
||||
ARD_SPI_SETUP: "Setup",
|
||||
ARD_SPI_SETUP_CONF: "Konfiguration:",
|
||||
ARD_SPI_SETUP_DIVIDE: "clock divide", // untranslated
|
||||
ARD_SPI_SETUP_LSBFIRST: "LSBFIRST", // untranslated
|
||||
ARD_SPI_SETUP_MODE: "SPI mode (idle - edge)", // untranslated
|
||||
ARD_SPI_SETUP_MODE0: "0 (LOW - Fallend)",
|
||||
ARD_SPI_SETUP_MODE1: "1 (LOW - Steigend)",
|
||||
ARD_SPI_SETUP_MODE2: "2 (HIGH - Fallend)",
|
||||
ARD_SPI_SETUP_MODE3: "3 (HIGH - Steigend)",
|
||||
ARD_SPI_SETUP_MSBFIRST: "MSBFIRST", // untranslated
|
||||
ARD_SPI_SETUP_SHIFT: "data shift", // untranslated
|
||||
ARD_SPI_SETUP_TIP: "Configures the SPI peripheral.", // untranslated
|
||||
ARD_SPI_TRANSRETURN_TIP: "Send a SPI message to an specified slave device and get data back.", // untranslated
|
||||
ARD_SPI_TRANS_NONE: "none", // untranslated
|
||||
ARD_SPI_TRANS_SLAVE: "to slave pin", // untranslated
|
||||
ARD_SPI_TRANS_TIP: "Send a SPI message to an specified slave device.", // untranslated
|
||||
ARD_SPI_TRANS_VAL: "transfer", // untranslated
|
||||
ARD_SPI_TRANS_WARN1: "A setup block for %1 must be added to the workspace to use this block!", // untranslated
|
||||
ARD_SPI_TRANS_WARN2: "Old pin value %1 is no longer available.", // untranslated
|
||||
ARD_STEPPER_COMPONENT: "stepper", // untranslated
|
||||
ARD_STEPPER_DEFAULT_NAME: "MyStepper", // untranslated
|
||||
ARD_STEPPER_FOUR_PINS: "4", // untranslated
|
||||
ARD_STEPPER_MOTOR: "stepper motor:", // untranslated
|
||||
ARD_STEPPER_NUMBER_OF_PINS: "Number of pins", // untranslated
|
||||
ARD_STEPPER_PIN1: "pin1#", // untranslated
|
||||
ARD_STEPPER_PIN2: "pin2#", // untranslated
|
||||
ARD_STEPPER_PIN3: "pin3#", // untranslated
|
||||
ARD_STEPPER_PIN4: "pin4#", // untranslated
|
||||
ARD_STEPPER_REVOLVS: "how many steps per revolution", // untranslated
|
||||
ARD_STEPPER_SETUP: "Setup stepper motor", // untranslated
|
||||
ARD_STEPPER_SETUP_TIP: "Configures a stepper motor pinout and other settings.", // untranslated
|
||||
ARD_STEPPER_SPEED: "set speed (rpm) to", // untranslated
|
||||
ARD_STEPPER_STEP: "move stepper", // untranslated
|
||||
ARD_STEPPER_STEPS: "steps", // untranslated
|
||||
ARD_STEPPER_STEP_TIP: "Turns the stepper motor a specific number of steps.", // untranslated
|
||||
ARD_STEPPER_TWO_PINS: "2", // untranslated
|
||||
ARD_TYPE_ARRAY: "Array",
|
||||
ARD_TYPE_BOOL: "Boolean",
|
||||
ARD_TYPE_CHAR: "Zeichen",
|
||||
ARD_TYPE_CHILDBLOCKMISSING: "ChildBlockMissing", // untranslated
|
||||
ARD_TYPE_DECIMAL: "Dezimalzahl",
|
||||
ARD_TYPE_LONG: "große Zahl",
|
||||
ARD_TYPE_NULL: "Null",
|
||||
ARD_TYPE_NUMBER: "Zahl",
|
||||
ARD_TYPE_SHORT: "kurze Zahl",
|
||||
ARD_TYPE_TEXT: "Text",
|
||||
ARD_TYPE_UNDEF: "Undefiniert",
|
||||
ARD_VAR_AS: "als",
|
||||
ARD_VAR_AS_TIP: "Wert einem spezififischen Datentyp zuordnen",
|
||||
ARD_WRITE_TO: "zu",
|
||||
NEW_INSTANCE: "Neue Instanz...",
|
||||
NEW_INSTANCE_TITLE: "Neue Instanz mit Name:",
|
||||
RENAME_INSTANCE: "Instanz umbenennen...",
|
||||
RENAME_INSTANCE_TITLE: "Benenne alle '%1' Instanzen zu:",
|
||||
|
||||
}
|
||||
ARD_ANALOGREAD: "lese analogen Pin#",
|
||||
ARD_ANALOGREAD_TIP: "Gibt einen Wert zwischen 0 und 1023 zurück",
|
||||
ARD_ANALOGWRITE: "setzte analogen Pin#",
|
||||
ARD_ANALOGWRITE_TIP:
|
||||
"Schreibe analogen Wert zwischen 0 und 255 an einen spezifischen PWM Port",
|
||||
ARD_BUILTIN_LED: "eingebaute LED",
|
||||
ARD_BUILTIN_LED_TIP: "Schaltet die interne LED An oder Aus",
|
||||
ARD_COMPONENT_WARN1:
|
||||
"A %1 configuration block with the same %2 name must be added to use this block!",
|
||||
ARD_DEFINE: "Definiere",
|
||||
ARD_DIGITALREAD: "lesen digitalen Pin#",
|
||||
ARD_DIGITALREAD_TIP: "Lese Wert an digitalen Pin: HIGH(1) oder LOW(0)",
|
||||
ARD_DIGITALWRITE: "setzte digitalen Pin#",
|
||||
ARD_DIGITALWRITE_TIP:
|
||||
"Schreibe digitalen Wert HIGH (1) oder LOW(0) an spezifischen Port",
|
||||
ARD_FUN_RUN_LOOP: "Endlosschleife()",
|
||||
ARD_FUN_RUN_SETUP: "Setup()",
|
||||
ARD_FUN_RUN_TIP:
|
||||
"Definiert die setup() und loop() Funktionen. Die setup()-Funktion wird beim starten **einmal** ausgeführt. Anschließend wir die loop()-Funktion in einer **Endlosschleife** ausgeführt. Füge in die Setup()-Funktion Blöcke ein, um z.B. das Display zu initalisieren, eine Verbindung zum WiFi-Netzwerk herzustellen oder um die LoRa Verbindung zu initialsieren.",
|
||||
ARD_HIGH: "HIGH",
|
||||
ARD_HIGHLOW_TIP:
|
||||
"Setzt einen Status auf HIGH oder LOWSet a pin state logic High or Low.",
|
||||
ARD_LOW: "LOW",
|
||||
ARD_MAP: "Verteile Wert",
|
||||
ARD_MAP_FROMMIN: "von Minimum",
|
||||
ARD_MAP_FROMMAX: "bis maximum",
|
||||
ARD_MAP_TOMIN: "auf Minimum",
|
||||
ARD_MAP_TOMAX: "bis Maximum",
|
||||
ARD_MAP_TIP: "Verteilt Werte zwischen [0-1024] zu andere.",
|
||||
ARD_MAP_VAL: "Wert zu [0-",
|
||||
ARD_NOTONE: "Schalte Ton aus an Pin",
|
||||
ARD_NOTONE_PIN: "keinen Ton an Pin",
|
||||
ARD_NOTONE_PIN_TIP: "Stoppe die Tonerzeugung an Pin",
|
||||
ARD_NOTONE_TIP: "Schaltet den Ton am ausgewählten Pin aus",
|
||||
ARD_PIN_WARN1:
|
||||
"Pin %1 wird benötigt für %2 als Pin %3. Bereitsgenutzt als %4.",
|
||||
ARD_PULSETIMEOUT_TIP:
|
||||
"Misst die Laufzeit eines Impulses am ausgewählten Pin, wenn die Zeit ist in Microsekunden.",
|
||||
ARD_PULSE_READ: "Misst %1 Impuls an Pin #%2",
|
||||
ARD_PULSE_READ_TIMEOUT:
|
||||
"Misst %1 Impuls an Pin #%2 (Unterbrechung nach %3 μs)",
|
||||
ARD_PULSE_TIP: "Misst die Zeit eines Impulses an dem ausgewählten Pin.",
|
||||
ARD_SERIAL_BPS: "bps",
|
||||
ARD_SERIAL_PRINT: "schreibe",
|
||||
ARD_SERIAL_PRINT_NEWLINE: "neue Zeile hinzufügen",
|
||||
ARD_SERIAL_PRINT_TIP:
|
||||
"Prints data to the console/serial port as human-readable ASCII text.", // untranslated
|
||||
ARD_SERIAL_PRINT_WARN:
|
||||
"A setup block for %1 must be added to the workspace to use this block!", // untranslated
|
||||
ARD_SERIAL_SETUP: "Setup",
|
||||
ARD_SERIAL_SETUP_TIP: "Selects the speed for a specific Serial peripheral", // untranslated
|
||||
ARD_SERIAL_SPEED: ": Übertragungsgeschwindigkeit zu",
|
||||
ARD_SERVO_READ: "liest SERVO an PIN#",
|
||||
ARD_SERVO_READ_TIP: "Liest den Winkel des Servomotors aus",
|
||||
ARD_SERVO_WRITE: "setzt SERVO an Pin",
|
||||
ARD_SERVO_WRITE_DEG_180: "Winkel (0~180)",
|
||||
ARD_SERVO_WRITE_TIP: "Set a Servo to an specified angle", // untranslated
|
||||
ARD_SERVO_WRITE_TO: "", // untranslated
|
||||
ARD_SETTONE: "Spiele Ton an Pin", // untranslated
|
||||
ARD_SPI_SETUP: "Setup",
|
||||
ARD_SPI_SETUP_CONF: "Konfiguration:",
|
||||
ARD_SPI_SETUP_DIVIDE: "clock divide", // untranslated
|
||||
ARD_SPI_SETUP_LSBFIRST: "LSBFIRST", // untranslated
|
||||
ARD_SPI_SETUP_MODE: "SPI mode (idle - edge)", // untranslated
|
||||
ARD_SPI_SETUP_MODE0: "0 (LOW - Fallend)",
|
||||
ARD_SPI_SETUP_MODE1: "1 (LOW - Steigend)",
|
||||
ARD_SPI_SETUP_MODE2: "2 (HIGH - Fallend)",
|
||||
ARD_SPI_SETUP_MODE3: "3 (HIGH - Steigend)",
|
||||
ARD_SPI_SETUP_MSBFIRST: "MSBFIRST", // untranslated
|
||||
ARD_SPI_SETUP_SHIFT: "data shift", // untranslated
|
||||
ARD_SPI_SETUP_TIP: "Configures the SPI peripheral.", // untranslated
|
||||
ARD_SPI_TRANSRETURN_TIP:
|
||||
"Send a SPI message to an specified slave device and get data back.", // untranslated
|
||||
ARD_SPI_TRANS_NONE: "none", // untranslated
|
||||
ARD_SPI_TRANS_SLAVE: "to slave pin", // untranslated
|
||||
ARD_SPI_TRANS_TIP: "Send a SPI message to an specified slave device.", // untranslated
|
||||
ARD_SPI_TRANS_VAL: "transfer", // untranslated
|
||||
ARD_SPI_TRANS_WARN1:
|
||||
"A setup block for %1 must be added to the workspace to use this block!", // untranslated
|
||||
ARD_SPI_TRANS_WARN2: "Old pin value %1 is no longer available.", // untranslated
|
||||
ARD_STEPPER_COMPONENT: "stepper", // untranslated
|
||||
ARD_STEPPER_DEFAULT_NAME: "MyStepper", // untranslated
|
||||
ARD_STEPPER_FOUR_PINS: "4", // untranslated
|
||||
ARD_STEPPER_MOTOR: "stepper motor:", // untranslated
|
||||
ARD_STEPPER_NUMBER_OF_PINS: "Number of pins", // untranslated
|
||||
ARD_STEPPER_PIN1: "pin1#", // untranslated
|
||||
ARD_STEPPER_PIN2: "pin2#", // untranslated
|
||||
ARD_STEPPER_PIN3: "pin3#", // untranslated
|
||||
ARD_STEPPER_PIN4: "pin4#", // untranslated
|
||||
ARD_STEPPER_REVOLVS: "how many steps per revolution", // untranslated
|
||||
ARD_STEPPER_SETUP: "Setup stepper motor", // untranslated
|
||||
ARD_STEPPER_SETUP_TIP:
|
||||
"Configures a stepper motor pinout and other settings.", // untranslated
|
||||
ARD_STEPPER_SPEED: "set speed (rpm) to", // untranslated
|
||||
ARD_STEPPER_STEP: "move stepper", // untranslated
|
||||
ARD_STEPPER_STEPS: "steps", // untranslated
|
||||
ARD_STEPPER_STEP_TIP: "Turns the stepper motor a specific number of steps.", // untranslated
|
||||
ARD_STEPPER_TWO_PINS: "2", // untranslated
|
||||
ARD_TYPE_ARRAY: "Array",
|
||||
ARD_TYPE_BOOL: "Boolean",
|
||||
ARD_TYPE_CHAR: "Zeichen",
|
||||
ARD_TYPE_CHILDBLOCKMISSING: "ChildBlockMissing", // untranslated
|
||||
ARD_TYPE_DECIMAL: "Dezimalzahl",
|
||||
ARD_TYPE_LONG: "große Zahl",
|
||||
ARD_TYPE_NULL: "Null",
|
||||
ARD_TYPE_NUMBER: "Zahl",
|
||||
ARD_TYPE_SHORT: "kurze Zahl",
|
||||
ARD_TYPE_TEXT: "Text",
|
||||
ARD_TYPE_UNDEF: "Undefiniert",
|
||||
ARD_VAR_AS: "als",
|
||||
ARD_VAR_AS_TIP: "Wert einem spezififischen Datentyp zuordnen",
|
||||
ARD_WRITE_TO: "zu",
|
||||
NEW_INSTANCE: "Neue Instanz...",
|
||||
NEW_INSTANCE_TITLE: "Neue Instanz mit Name:",
|
||||
RENAME_INSTANCE: "Instanz umbenennen...",
|
||||
RENAME_INSTANCE_TITLE: "Benenne alle '%1' Instanzen zu:",
|
||||
};
|
||||
|
@ -85,9 +85,9 @@ export const UI = {
|
||||
messages_rename_success_01: "Das Projekt wurde erfolgreich in ",
|
||||
messages_rename_success_02: "umbenannt.",
|
||||
messages_newblockly_head:
|
||||
"Willkommen zur neuen Version Blockly für die senseBox",
|
||||
"Willkommen zur neuen senseBox Lern- und Programmierumgebung",
|
||||
messages_newblockly_text:
|
||||
"Die neue Blockly-Version befindet sich derzeit in der Testphase. Wenn Sie einen Fehler finden, melden Sie diesen bitte in unserem [Forum](https://forum.sensebox.de/t/neue-blockly-version-beta-test-und-feedback/1176). Eine Übersicht über alle neuen Funktionen finden Sie [hier](/news)",
|
||||
"Nach einer Testphase kann die neue senseBox Lern- und Programmierumgebung verwendet werden. Wenn Sie weiterhin Fehler finden, melden Sie diesen bitte in unserem [Forum](https://forum.sensebox.de/t/neue-blockly-version-beta-test-und-feedback/1176). Eine Übersicht über alle neuen Funktionen finden Sie [hier](/news)",
|
||||
messages_GET_TUTORIAL_FAIL: "Zurück zur Tutorials-Übersicht",
|
||||
messages_LOGIN_FAIL: "Der Benutzername oder das Passwort ist nicht korrekt.",
|
||||
messages_copy_code: "Code wurde in die Zwischenablage kopiert",
|
||||
|
@ -1,107 +1,113 @@
|
||||
export const IO = {
|
||||
|
||||
|
||||
ARD_ANALOGREAD: "read analog pin#",
|
||||
ARD_ANALOGREAD_TIP: "Return value between 0 and 1024",
|
||||
ARD_ANALOGWRITE: "set analog pin#",
|
||||
ARD_ANALOGWRITE_TIP: "Write analog value between 0 and 255 to a specific PWM Port",
|
||||
ARD_BUILTIN_LED: "set built-in LED",
|
||||
ARD_BUILTIN_LED_TIP: "Light on or off for the built-in LED of the Arduino",
|
||||
ARD_COMPONENT_WARN1: "A %1 configuration block with the same %2 name must be added to use this block!",
|
||||
ARD_DEFINE: "Define",
|
||||
ARD_DIGITALREAD: "read digital pin#",
|
||||
ARD_DIGITALREAD_TIP: "Read digital value on a pin: HIGH or LOW",
|
||||
ARD_DIGITALWRITE: "set digitial pin#",
|
||||
ARD_DIGITALWRITE_TIP: "Write digital value HIGH or LOW to a specific Port",
|
||||
ARD_FUN_RUN_LOOP: "Arduino loop forever:",
|
||||
ARD_FUN_RUN_SETUP: "Arduino run first:",
|
||||
ARD_FUN_RUN_TIP: "Defines the Arduino setup() and loop() functions.",
|
||||
ARD_HIGH: "HIGH",
|
||||
ARD_HIGHLOW_TIP: "Set a pin state logic High or Low.",
|
||||
ARD_LOW: "LOW",
|
||||
ARD_MAP: "Map Value",
|
||||
ARD_MAP_FROMMAX: "from Max",
|
||||
ARD_MAP_FROMMIN: "from Min",
|
||||
ARD_MAP_TIP: "Re-maps a number from [0-1024] to another.",
|
||||
ARD_MAP_TOMAX: "to Max",
|
||||
ARD_MAP_TOMIN: "to Min",
|
||||
ARD_MAP_VAL: "value to [0-",
|
||||
ARD_NOTONE: "Turn off tone on pin #",
|
||||
ARD_NOTONE_PIN: "No tone PIN#",
|
||||
ARD_NOTONE_PIN_TIP: "Stop generating a tone on a pin",
|
||||
ARD_NOTONE_TIP: "Turns the tone off on the selected pin",
|
||||
ARD_PIN_WARN1: "Pin %1 is needed for %2 as pin %3. Already used as %4.",
|
||||
ARD_PULSETIMEOUT_TIP: "Measures the duration of a pulse on the selected pin, if it is within the time-out in microseconds.",
|
||||
ARD_PULSE_READ: "measure %1 pulse on pin #%2",
|
||||
ARD_PULSE_READ_TIMEOUT: "measure %1 pulse on pin #%2 (timeout after %3 μs)",
|
||||
ARD_PULSE_TIP: "Measures the duration of a pulse on the selected pin.",
|
||||
ARD_SERIAL_BPS: "bps",
|
||||
ARD_SERIAL_PRINT: "print",
|
||||
ARD_SERIAL_PRINT_NEWLINE: "add new line",
|
||||
ARD_SERIAL_PRINT_TIP: "Prints data to the console/serial port as human-readable ASCII text.",
|
||||
ARD_SERIAL_PRINT_WARN: "A setup block for %1 must be added to the workspace to use this block!",
|
||||
ARD_SERIAL_SETUP: "Setup",
|
||||
ARD_SERIAL_SETUP_TIP: "Selects the speed for a specific Serial peripheral",
|
||||
ARD_SERIAL_SPEED: ": speed to",
|
||||
ARD_SERVO_READ: "read SERVO from PIN#",
|
||||
ARD_SERVO_READ_TIP: "Read a Servo angle",
|
||||
ARD_SERVO_WRITE: "set SERVO from Pin",
|
||||
ARD_SERVO_WRITE_DEG_180: "Degrees (0~180)",
|
||||
ARD_SERVO_WRITE_TIP: "Set a Servo to an specified angle",
|
||||
ARD_SERVO_WRITE_TO: "to",
|
||||
ARD_SETTONE: "Set tone on pin #",
|
||||
ARD_SPI_SETUP: "Setup",
|
||||
ARD_SPI_SETUP_CONF: "configuration:",
|
||||
ARD_SPI_SETUP_DIVIDE: "clock divide",
|
||||
ARD_SPI_SETUP_LSBFIRST: "LSBFIRST",
|
||||
ARD_SPI_SETUP_MODE: "SPI mode (idle - edge)",
|
||||
ARD_SPI_SETUP_MODE0: "0 (Low - Falling)",
|
||||
ARD_SPI_SETUP_MODE1: "1 (Low - Rising)",
|
||||
ARD_SPI_SETUP_MODE2: "2 (High - Falling)",
|
||||
ARD_SPI_SETUP_MODE3: "3 (High - Rising)",
|
||||
ARD_SPI_SETUP_MSBFIRST: "MSBFIRST",
|
||||
ARD_SPI_SETUP_SHIFT: "data shift",
|
||||
ARD_SPI_SETUP_TIP: "Configures the SPI peripheral.",
|
||||
ARD_SPI_TRANSRETURN_TIP: "Send a SPI message to an specified slave device and get data back.",
|
||||
ARD_SPI_TRANS_NONE: "none",
|
||||
ARD_SPI_TRANS_SLAVE: "to slave pin",
|
||||
ARD_SPI_TRANS_TIP: "Send a SPI message to an specified slave device.",
|
||||
ARD_SPI_TRANS_VAL: "transfer",
|
||||
ARD_SPI_TRANS_WARN1: "A setup block for %1 must be added to the workspace to use this block!",
|
||||
ARD_SPI_TRANS_WARN2: "Old pin value %1 is no longer available.",
|
||||
ARD_STEPPER_COMPONENT: "stepper",
|
||||
ARD_STEPPER_DEFAULT_NAME: "MyStepper",
|
||||
ARD_STEPPER_FOUR_PINS: "4",
|
||||
ARD_STEPPER_MOTOR: "stepper motor:",
|
||||
ARD_STEPPER_NUMBER_OF_PINS: "Number of pins",
|
||||
ARD_STEPPER_PIN1: "pin1#",
|
||||
ARD_STEPPER_PIN2: "pin2#",
|
||||
ARD_STEPPER_PIN3: "pin3#",
|
||||
ARD_STEPPER_PIN4: "pin4#",
|
||||
ARD_STEPPER_REVOLVS: "how many steps per revolution",
|
||||
ARD_STEPPER_SETUP: "Setup stepper motor",
|
||||
ARD_STEPPER_SETUP_TIP: "Configures a stepper motor pinout and other settings.",
|
||||
ARD_STEPPER_SPEED: "set speed (rpm) to",
|
||||
ARD_STEPPER_STEP: "move stepper",
|
||||
ARD_STEPPER_STEPS: "steps",
|
||||
ARD_STEPPER_STEP_TIP: "Turns the stepper motor a specific number of steps.",
|
||||
ARD_STEPPER_TWO_PINS: "2",
|
||||
ARD_TYPE_ARRAY: "Array",
|
||||
ARD_TYPE_BOOL: "Boolean",
|
||||
ARD_TYPE_CHAR: "Character",
|
||||
ARD_TYPE_CHILDBLOCKMISSING: "ChildBlockMissing",
|
||||
ARD_TYPE_DECIMAL: "Decimal",
|
||||
ARD_TYPE_LONG: "Large Number",
|
||||
ARD_TYPE_NULL: "Null",
|
||||
ARD_TYPE_NUMBER: "Number",
|
||||
ARD_TYPE_SHORT: "Short Number",
|
||||
ARD_TYPE_TEXT: "Text",
|
||||
ARD_TYPE_UNDEF: "Undefined",
|
||||
ARD_VAR_AS: "as",
|
||||
ARD_VAR_AS_TIP: "Sets a value to a specific type",
|
||||
ARD_WRITE_TO: "to",
|
||||
NEW_INSTANCE: "New instance...",
|
||||
NEW_INSTANCE_TITLE: "New instance name:",
|
||||
RENAME_INSTANCE: "Rename instance...",
|
||||
RENAME_INSTANCE_TITLE: "Rename all '%1' instances to:",
|
||||
}
|
||||
ARD_ANALOGREAD: "read analog pin#",
|
||||
ARD_ANALOGREAD_TIP: "Return value between 0 and 1023",
|
||||
ARD_ANALOGWRITE: "set analog pin#",
|
||||
ARD_ANALOGWRITE_TIP:
|
||||
"Write analog value between 0 and 255 to a specific PWM Port",
|
||||
ARD_BUILTIN_LED: "set built-in LED",
|
||||
ARD_BUILTIN_LED_TIP: "Light on or off for the built-in LED of the Arduino",
|
||||
ARD_COMPONENT_WARN1:
|
||||
"A %1 configuration block with the same %2 name must be added to use this block!",
|
||||
ARD_DEFINE: "Define",
|
||||
ARD_DIGITALREAD: "read digital pin#",
|
||||
ARD_DIGITALREAD_TIP: "Read digital value on a pin: HIGH or LOW",
|
||||
ARD_DIGITALWRITE: "set digitial pin#",
|
||||
ARD_DIGITALWRITE_TIP: "Write digital value HIGH or LOW to a specific Port",
|
||||
ARD_FUN_RUN_LOOP: "Arduino loop forever:",
|
||||
ARD_FUN_RUN_SETUP: "Arduino run first:",
|
||||
ARD_FUN_RUN_TIP: "Defines the Arduino setup() and loop() functions.",
|
||||
ARD_HIGH: "HIGH",
|
||||
ARD_HIGHLOW_TIP: "Set a pin state logic High or Low.",
|
||||
ARD_LOW: "LOW",
|
||||
ARD_MAP: "Map Value",
|
||||
ARD_MAP_FROMMAX: "from Max",
|
||||
ARD_MAP_FROMMIN: "from Min",
|
||||
ARD_MAP_TIP: "Re-maps a number from [0-1024] to another.",
|
||||
ARD_MAP_TOMAX: "to Max",
|
||||
ARD_MAP_TOMIN: "to Min",
|
||||
ARD_MAP_VAL: "value to [0-",
|
||||
ARD_NOTONE: "Turn off tone on pin #",
|
||||
ARD_NOTONE_PIN: "No tone PIN#",
|
||||
ARD_NOTONE_PIN_TIP: "Stop generating a tone on a pin",
|
||||
ARD_NOTONE_TIP: "Turns the tone off on the selected pin",
|
||||
ARD_PIN_WARN1: "Pin %1 is needed for %2 as pin %3. Already used as %4.",
|
||||
ARD_PULSETIMEOUT_TIP:
|
||||
"Measures the duration of a pulse on the selected pin, if it is within the time-out in microseconds.",
|
||||
ARD_PULSE_READ: "measure %1 pulse on pin #%2",
|
||||
ARD_PULSE_READ_TIMEOUT: "measure %1 pulse on pin #%2 (timeout after %3 μs)",
|
||||
ARD_PULSE_TIP: "Measures the duration of a pulse on the selected pin.",
|
||||
ARD_SERIAL_BPS: "bps",
|
||||
ARD_SERIAL_PRINT: "print",
|
||||
ARD_SERIAL_PRINT_NEWLINE: "add new line",
|
||||
ARD_SERIAL_PRINT_TIP:
|
||||
"Prints data to the console/serial port as human-readable ASCII text.",
|
||||
ARD_SERIAL_PRINT_WARN:
|
||||
"A setup block for %1 must be added to the workspace to use this block!",
|
||||
ARD_SERIAL_SETUP: "Setup",
|
||||
ARD_SERIAL_SETUP_TIP: "Selects the speed for a specific Serial peripheral",
|
||||
ARD_SERIAL_SPEED: ": speed to",
|
||||
ARD_SERVO_READ: "read SERVO from PIN#",
|
||||
ARD_SERVO_READ_TIP: "Read a Servo angle",
|
||||
ARD_SERVO_WRITE: "set SERVO from Pin",
|
||||
ARD_SERVO_WRITE_DEG_180: "Degrees (0~180)",
|
||||
ARD_SERVO_WRITE_TIP: "Set a Servo to an specified angle",
|
||||
ARD_SERVO_WRITE_TO: "to",
|
||||
ARD_SETTONE: "Set tone on pin #",
|
||||
ARD_SPI_SETUP: "Setup",
|
||||
ARD_SPI_SETUP_CONF: "configuration:",
|
||||
ARD_SPI_SETUP_DIVIDE: "clock divide",
|
||||
ARD_SPI_SETUP_LSBFIRST: "LSBFIRST",
|
||||
ARD_SPI_SETUP_MODE: "SPI mode (idle - edge)",
|
||||
ARD_SPI_SETUP_MODE0: "0 (Low - Falling)",
|
||||
ARD_SPI_SETUP_MODE1: "1 (Low - Rising)",
|
||||
ARD_SPI_SETUP_MODE2: "2 (High - Falling)",
|
||||
ARD_SPI_SETUP_MODE3: "3 (High - Rising)",
|
||||
ARD_SPI_SETUP_MSBFIRST: "MSBFIRST",
|
||||
ARD_SPI_SETUP_SHIFT: "data shift",
|
||||
ARD_SPI_SETUP_TIP: "Configures the SPI peripheral.",
|
||||
ARD_SPI_TRANSRETURN_TIP:
|
||||
"Send a SPI message to an specified slave device and get data back.",
|
||||
ARD_SPI_TRANS_NONE: "none",
|
||||
ARD_SPI_TRANS_SLAVE: "to slave pin",
|
||||
ARD_SPI_TRANS_TIP: "Send a SPI message to an specified slave device.",
|
||||
ARD_SPI_TRANS_VAL: "transfer",
|
||||
ARD_SPI_TRANS_WARN1:
|
||||
"A setup block for %1 must be added to the workspace to use this block!",
|
||||
ARD_SPI_TRANS_WARN2: "Old pin value %1 is no longer available.",
|
||||
ARD_STEPPER_COMPONENT: "stepper",
|
||||
ARD_STEPPER_DEFAULT_NAME: "MyStepper",
|
||||
ARD_STEPPER_FOUR_PINS: "4",
|
||||
ARD_STEPPER_MOTOR: "stepper motor:",
|
||||
ARD_STEPPER_NUMBER_OF_PINS: "Number of pins",
|
||||
ARD_STEPPER_PIN1: "pin1#",
|
||||
ARD_STEPPER_PIN2: "pin2#",
|
||||
ARD_STEPPER_PIN3: "pin3#",
|
||||
ARD_STEPPER_PIN4: "pin4#",
|
||||
ARD_STEPPER_REVOLVS: "how many steps per revolution",
|
||||
ARD_STEPPER_SETUP: "Setup stepper motor",
|
||||
ARD_STEPPER_SETUP_TIP:
|
||||
"Configures a stepper motor pinout and other settings.",
|
||||
ARD_STEPPER_SPEED: "set speed (rpm) to",
|
||||
ARD_STEPPER_STEP: "move stepper",
|
||||
ARD_STEPPER_STEPS: "steps",
|
||||
ARD_STEPPER_STEP_TIP: "Turns the stepper motor a specific number of steps.",
|
||||
ARD_STEPPER_TWO_PINS: "2",
|
||||
ARD_TYPE_ARRAY: "Array",
|
||||
ARD_TYPE_BOOL: "Boolean",
|
||||
ARD_TYPE_CHAR: "Character",
|
||||
ARD_TYPE_CHILDBLOCKMISSING: "ChildBlockMissing",
|
||||
ARD_TYPE_DECIMAL: "Decimal",
|
||||
ARD_TYPE_LONG: "Large Number",
|
||||
ARD_TYPE_NULL: "Null",
|
||||
ARD_TYPE_NUMBER: "Number",
|
||||
ARD_TYPE_SHORT: "Short Number",
|
||||
ARD_TYPE_TEXT: "Text",
|
||||
ARD_TYPE_UNDEF: "Undefined",
|
||||
ARD_VAR_AS: "as",
|
||||
ARD_VAR_AS_TIP: "Sets a value to a specific type",
|
||||
ARD_WRITE_TO: "to",
|
||||
NEW_INSTANCE: "New instance...",
|
||||
NEW_INSTANCE_TITLE: "New instance name:",
|
||||
RENAME_INSTANCE: "Rename instance...",
|
||||
RENAME_INSTANCE_TITLE: "Rename all '%1' instances to:",
|
||||
};
|
||||
|
@ -544,7 +544,7 @@ Blockly.Msg.PROCEDURES_DEFRETURN_COMMENT =
|
||||
|
||||
// Ardublockly strings
|
||||
Blockly.Msg.ARD_ANALOGREAD = "read analog pin#";
|
||||
Blockly.Msg.ARD_ANALOGREAD_TIP = "Return value between 0 and 1024";
|
||||
Blockly.Msg.ARD_ANALOGREAD_TIP = "Return value between 0 and 1023";
|
||||
Blockly.Msg.ARD_ANALOGWRITE = "set analog pin#";
|
||||
Blockly.Msg.ARD_ANALOGWRITE_TIP =
|
||||
"Write analog value between 0 and 255 to a specific PWM Port";
|
||||
|
Loading…
x
Reference in New Issue
Block a user