diff --git a/public/media/hardware/senseboxmcumini.png b/public/media/hardware/senseboxmcumini.png
new file mode 100644
index 0000000..220caa6
Binary files /dev/null and b/public/media/hardware/senseboxmcumini.png differ
diff --git a/src/components/Blockly/BlocklyWindow.js b/src/components/Blockly/BlocklyWindow.js
index 4ff8341..bbab82d 100644
--- a/src/components/Blockly/BlocklyWindow.js
+++ b/src/components/Blockly/BlocklyWindow.js
@@ -43,8 +43,16 @@ class BlocklyWindow extends Component {
componentDidUpdate(props) {
const workspace = Blockly.getMainWorkspace();
-
var xml = this.props.initialXml;
+ if (props.selectedBoard !== this.props.selectedBoard) {
+ // change board
+ if(!xml) xml = initialXml;
+ var xmlDom = Blockly.Xml.textToDom(xml);
+ Blockly.Xml.clearWorkspaceAndLoadFromXml(xmlDom, workspace);
+ // var toolbox = workspace.getToolbox();
+ // workspace.updateToolbox(toolbox.toolboxDef_);
+ }
+
// if svg is true, then the update process is done in the BlocklySvg component
if (props.initialXml !== xml && !this.props.svg) {
// guarantees that the current xml-code (this.props.initialXml) is rendered
@@ -55,7 +63,7 @@ class BlocklyWindow extends Component {
if (props.language !== this.props.language) {
// change language
if (!xml) xml = initialXml;
- var xmlDom = Blockly.Xml.textToDom(xml);
+ xmlDom = Blockly.Xml.textToDom(xml);
Blockly.Xml.clearWorkspaceAndLoadFromXml(xmlDom, workspace);
// var toolbox = workspace.getToolbox();
// workspace.updateToolbox(toolbox.toolboxDef_);
@@ -130,12 +138,14 @@ BlocklyWindow.propTypes = {
renderer: PropTypes.string.isRequired,
sounds: PropTypes.bool.isRequired,
language: PropTypes.string.isRequired,
+ selectedBoard: PropTypes.string.isRequired,
};
const mapStateToProps = (state) => ({
renderer: state.general.renderer,
sounds: state.general.sounds,
language: state.general.language,
+ selectedBoard: state.board.board,
});
export default connect(mapStateToProps, { onChangeWorkspace, clearStats })(
diff --git a/src/components/Blockly/blocks/sensebox-led.js b/src/components/Blockly/blocks/sensebox-led.js
index 981133e..6810fcb 100644
--- a/src/components/Blockly/blocks/sensebox-led.js
+++ b/src/components/Blockly/blocks/sensebox-led.js
@@ -45,15 +45,11 @@ Blockly.Blocks['sensebox_rgb_led'] = {
Blockly.Blocks['sensebox_ws2818_led_init'] = {
init: function () {
-
- var dropdownOptions = [[Blockly.Msg.senseBox_ultrasonic_port_A, '1'],
- [Blockly.Msg.senseBox_ultrasonic_port_B, '3'], [Blockly.Msg.senseBox_ultrasonic_port_C, '5']];
-
this.setColour(getColour().sensebox);
this.appendDummyInput()
.appendField(Blockly.Msg.senseBox_ws2818_rgb_led_init)
.appendField("Port:")
- .appendField(new Blockly.FieldDropdown(dropdownOptions), "Port")
+ .appendField(new Blockly.FieldDropdown(selectedBoard().digitalPinsRGB), "Port")
this.appendValueInput("BRIGHTNESS", "brightness")
.appendField((Blockly.Msg.senseBox_ws2818_rgb_led_brightness));
this.appendValueInput("NUMBER", "number")
@@ -66,15 +62,11 @@ Blockly.Blocks['sensebox_ws2818_led_init'] = {
Blockly.Blocks['sensebox_ws2818_led'] = {
init: function () {
-
- var dropdownOptions = [[Blockly.Msg.senseBox_ultrasonic_port_A, '1'],
- [Blockly.Msg.senseBox_ultrasonic_port_B, '3'], [Blockly.Msg.senseBox_ultrasonic_port_C, '5']];
-
this.setColour(getColour().sensebox);
this.appendDummyInput()
.appendField(Blockly.Msg.senseBox_ws2818_rgb_led)
.appendField("Port:")
- .appendField(new Blockly.FieldDropdown(dropdownOptions), "Port")
+ .appendField(new Blockly.FieldDropdown(selectedBoard().digitalPinsRGB), "Port")
this.appendValueInput("POSITION", "position")
.appendField((Blockly.Msg.senseBox_ws2818_rgb_led_position));
this.appendValueInput("COLOR", 'Number')
diff --git a/src/components/Blockly/generator/sensebox-ble.js b/src/components/Blockly/generator/sensebox-ble.js
index bd6ddd7..34a3a21 100644
--- a/src/components/Blockly/generator/sensebox-ble.js
+++ b/src/components/Blockly/generator/sensebox-ble.js
@@ -101,7 +101,6 @@ Blockly.Arduino.sensebox_phyphox_graph = function () {
Blockly.Arduino.sensebox_phyphox_experiment_send = function () {
var branch = Blockly.Arduino.statementToCode(this, "sendValues");
var blocks = this.getDescendants();
- console.log(blocks);
var count = 0;
if (blocks !== undefined) {
for (var i = 0; i < blocks.length; i++) {
@@ -115,7 +114,6 @@ Blockly.Arduino.sensebox_phyphox_experiment_send = function () {
var string = "";
for (var j = 1; j <= count; j++) {
- console.log("append");
if (string === "") {
string += `channel${j}`;
} else if (string !== "") {
diff --git a/src/components/Blockly/generator/sensebox-sd.js b/src/components/Blockly/generator/sensebox-sd.js
index ab54e47..419b76a 100644
--- a/src/components/Blockly/generator/sensebox-sd.js
+++ b/src/components/Blockly/generator/sensebox-sd.js
@@ -203,6 +203,5 @@ Blockly.Arduino.sensebox_sd_save_for_osem = function (block) {
Blockly.Arduino.definitions_["SENSOR_ID" + id + ""] =
"const char SENSOR_ID" + id + '[] PROGMEM = "' + sensor_id + '";';
code += "addMeasurement(SENSOR_ID" + id + "," + sensor_value + ");\n";
- console.log(code);
return code;
};
diff --git a/src/components/Blockly/generator/sensebox-web.js b/src/components/Blockly/generator/sensebox-web.js
index a2cae3b..3d94af1 100644
--- a/src/components/Blockly/generator/sensebox-web.js
+++ b/src/components/Blockly/generator/sensebox-web.js
@@ -1,4 +1,12 @@
import Blockly from "blockly";
+//import store from "../../../store";
+
+// preperations for the esp board
+// var selectedBoard = store.getState().board.board;
+// store.subscribe(() => {
+// selectedBoard = store.getState().board.board;
+// });
+
/* Wifi connection and openSenseMap Blocks*/
Blockly.Arduino.sensebox_wifi = function (block) {
@@ -110,3 +118,5 @@ Blockly.Arduino.sensebox_ethernetIp = function () {
var code = "Ethernet.localIP()";
return [code, Blockly.Arduino.ORDER_ATOMIC];
};
+
+
diff --git a/src/components/Blockly/generator/variables.js b/src/components/Blockly/generator/variables.js
index 2572b46..e8e4dd4 100644
--- a/src/components/Blockly/generator/variables.js
+++ b/src/components/Blockly/generator/variables.js
@@ -23,7 +23,6 @@ const setVariableFunction = function (defaultValue) {
.getVariableMap()
.getAllVariables();
const myVar = allVars.filter((v) => v.name === variableName)[0];
- console.log(myVar);
var code = "";
if (myVar !== undefined) {
Blockly.Arduino.variables_[variableName + myVar.type] =
diff --git a/src/components/Blockly/helpers/board.js b/src/components/Blockly/helpers/board.js
index 71e9dd7..f803a20 100644
--- a/src/components/Blockly/helpers/board.js
+++ b/src/components/Blockly/helpers/board.js
@@ -23,6 +23,11 @@ const sensebox_mcu = {
["C5", "5"],
["C6", "6"],
],
+ digitalPinsRGB: [
+ ["A", "1"],
+ ["B", "3"],
+ ["C", "5"],
+ ],
digitalPinsButton: [
["on Board", "0"],
["A1", "1"],
@@ -131,7 +136,7 @@ const sensebox_mini = {
description: "senseBox Mini",
compilerFlag: "arduino:samd",
digitalPins: [
- ["A1", "1"],
+ ["Test", "1"],
["A2", "2"],
["B3", "3"],
["B4", "4"],
@@ -148,6 +153,11 @@ const sensebox_mini = {
["C5", "5"],
["C6", "6"],
],
+ digitalPinsRGB: [
+ ["on Board", "7"],
+ ["B", "8"],
+ ["C", "1"],
+ ],
digitalPinsButton: [
["on Board", "0"],
["A1", "1"],
@@ -247,7 +257,6 @@ const sensebox_mini = {
var board = sensebox_mcu
export const setBoard = (selectedBoard) => {
- console.log(board)
if (selectedBoard === "mini"){
board = sensebox_mini
}
@@ -258,6 +267,5 @@ export const setBoard = (selectedBoard) => {
export const selectedBoard = () => {
- console.log(board)
return board;
};
diff --git a/src/components/Blockly/msg/de/ui.js b/src/components/Blockly/msg/de/ui.js
index 7092148..1f8e086 100644
--- a/src/components/Blockly/msg/de/ui.js
+++ b/src/components/Blockly/msg/de/ui.js
@@ -182,7 +182,8 @@ export const UI = {
settings_sounds: "Töne",
settings_sounds_text:
"Aktiviere oder Deaktiviere Töne beim hinzufügen und löschen von Blöcken. Standardmäßig deaktiviert",
-
+ settings_board: "Board",
+ settings_board_text: "Wähle dein verwendetes Board aus",
/**
* 404
*/
diff --git a/src/components/Blockly/msg/en/ui.js b/src/components/Blockly/msg/en/ui.js
index fc49196..f6afae7 100644
--- a/src/components/Blockly/msg/en/ui.js
+++ b/src/components/Blockly/msg/en/ui.js
@@ -176,6 +176,8 @@ export const UI = {
settings_sounds: "Sound",
settings_sounds_text:
"Enable or disable sounds when adding and deleting blocks. Disabled by default",
+ settings_board: "Board",
+ settings_board_text: "Choose your board",
/**
* 404
@@ -296,4 +298,11 @@ export const UI = {
codeeditor_blockly_code: "Load blockly code",
codeeditor_compile_progress:
"Your code will now be compiled and then downloaded to your computer",
+
+ /**
+ * Device Selction
+ * */
+ deviceselection_head: "Which board are you using?",
+ deviceselection_keep_selection: "Save my choice",
+
};
diff --git a/src/components/CodeEditor/CodeEditor.js b/src/components/CodeEditor/CodeEditor.js
index dba6bdb..08e40f5 100644
--- a/src/components/CodeEditor/CodeEditor.js
+++ b/src/components/CodeEditor/CodeEditor.js
@@ -38,7 +38,6 @@ const CodeEditor = (props) => {
})
.then((response) => response.json())
.then((data) => {
- console.log(data);
if (data.code === "Internal Server Error") {
setProgress(false);
setOpen(true);
diff --git a/src/components/CodeEditor/Compile.js b/src/components/CodeEditor/Compile.js
index b3d477e..26a9d4b 100644
--- a/src/components/CodeEditor/Compile.js
+++ b/src/components/CodeEditor/Compile.js
@@ -89,7 +89,6 @@ class Compile extends Component {
})
.then((response) => response.json())
.then((data) => {
- console.log(data);
if (data.code === "Internal Server Error") {
this.setState({
progress: false,
diff --git a/src/components/CodeEditor/SerialMonitor.js b/src/components/CodeEditor/SerialMonitor.js
index b40f10b..0636301 100644
--- a/src/components/CodeEditor/SerialMonitor.js
+++ b/src/components/CodeEditor/SerialMonitor.js
@@ -27,7 +27,6 @@ const SerialMonitor = () => {
if (value) {
// byte array to string: https://stackoverflow.com/a/37542820
const text = String.fromCharCode.apply(null, value);
- console.log(text);
setSerialPortContent((prevContent) => [
...prevContent,
[new Date(), text],
diff --git a/src/components/DeviceSelction.js b/src/components/DeviceSelection.js
similarity index 83%
rename from src/components/DeviceSelction.js
rename to src/components/DeviceSelection.js
index 384daf5..f02b424 100644
--- a/src/components/DeviceSelction.js
+++ b/src/components/DeviceSelection.js
@@ -7,8 +7,7 @@ import { withStyles } from "@material-ui/core/styles";
import Checkbox from "@material-ui/core/Checkbox";
import FormControlLabel from "@material-ui/core/FormControlLabel";
import * as Blockly from "blockly";
-import ReactMarkdown from "react-markdown";
-import { IconButton, Grid, Avatar } from "@material-ui/core";
+import { IconButton, Grid, Avatar, Typography } from "@material-ui/core";
import { setBoard } from "../actions/boardAction";
const styles = (theme) => ({
@@ -65,7 +64,6 @@ class DeviceSeclection extends Component {
this.setState({selectedBoard: value})
};
-
render() {
return (
);
}
diff --git a/src/components/Home.js b/src/components/Home.js
index 9c09377..6904184 100644
--- a/src/components/Home.js
+++ b/src/components/Home.js
@@ -12,7 +12,7 @@ import BlocklyWindow from "./Blockly/BlocklyWindow";
import CodeViewer from "./CodeViewer";
import TrashcanButtons from "./Workspace/TrashcanButtons";
import HintTutorialExists from "./Tutorial/HintTutorialExists";
-import DeviceSelction from "./DeviceSelction";
+import DeviceSelection from "./DeviceSelection";
import Grid from "@material-ui/core/Grid";
import IconButton from "@material-ui/core/IconButton";
@@ -187,7 +187,7 @@ class Home extends Component {
) : null}
-
+
{this.props.platform ? (