Compare commits

...
Author SHA1 Message Date
Mario Pesch d3cac65b97 fix saving to gallery and only allow admins 2023-05-11 12:15:55 +02:00
Mario PeschandGitHub a969727a48 Merge pull request #240 from sensebox/fix/alway-include-senseboxIO
add senseBoxIO to main procedure
2023-05-08 14:26:01 +02:00
Mario Pesch a1167b436b add senseBoxIO to main procedure 2023-05-08 14:20:25 +02:00
Mario PeschandGitHub 7524e78fc6 Merge pull request #239 from sensebox/development
Development
2023-04-03 12:46:22 +02:00
Mario PeschandGitHub f8cfb6691b Merge pull request #238 from sensebox/dev/update-mini-ports
update ports for senseBox MCU mini
2023-04-03 12:39:04 +02:00
Mario PeschandGitHub abce42f764 Merge pull request #237 from sensebox/dev/button_asSwitch
add Button as Switch
2023-04-03 12:35:07 +02:00
Mario Pesch 7c60869124 add Button as Switch 2023-04-03 12:26:43 +02:00
6 changed files with 10 additions and 3 deletions
@@ -331,6 +331,7 @@ Blockly.Blocks["sensebox_button"] = {
[Blockly.Msg.senseBox_button_isPressed, "isPressed"], [Blockly.Msg.senseBox_button_isPressed, "isPressed"],
[Blockly.Msg.senseBox_button_wasPressed, "wasPressed"], [Blockly.Msg.senseBox_button_wasPressed, "wasPressed"],
[Blockly.Msg.senseBox_button_longPress, "longPress"], [Blockly.Msg.senseBox_button_longPress, "longPress"],
[Blockly.Msg.senseBox_button_switch,"toggleButton"]
]), ]),
"FUNCTION" "FUNCTION"
) )
@@ -7,6 +7,7 @@ import * as Blockly from "blockly/core";
* @return {string} Completed code. * @return {string} Completed code.
*/ */
Blockly.Arduino["arduino_functions"] = function (block) { Blockly.Arduino["arduino_functions"] = function (block) {
Blockly.Arduino.libraries_["library_senseBoxIO"] = "#include <senseBoxIO.h>";
// Edited version of Blockly.Generator.prototype.statementToCode // Edited version of Blockly.Generator.prototype.statementToCode
function statementToCodeNoTab(block, name) { function statementToCodeNoTab(block, name) {
var targetBlock = block.getInputTargetBlock(name); var targetBlock = block.getInputTargetBlock(name);
@@ -399,6 +399,7 @@ Blockly.Arduino.sensebox_button = function () {
Blockly.Arduino.libraries_[ Blockly.Arduino.libraries_[
"library_jcButtons" "library_jcButtons"
] = `#include <JC_Button.h> // http://librarymanager/All#JC_Button`; ] = `#include <JC_Button.h> // http://librarymanager/All#JC_Button`;
Blockly.Arduino.definitions_["define_button" + dropdown_pin + ""] = Blockly.Arduino.definitions_["define_button" + dropdown_pin + ""] =
"Button button_" + dropdown_pin + "(" + dropdown_pin + ");"; "Button button_" + dropdown_pin + "(" + dropdown_pin + ");";
Blockly.Arduino.setupCode_["setup_button" + dropdown_pin + ""] = Blockly.Arduino.setupCode_["setup_button" + dropdown_pin + ""] =
@@ -413,6 +414,10 @@ Blockly.Arduino.sensebox_button = function () {
} else if (dropown_function === "longPress") { } else if (dropown_function === "longPress") {
var time = this.getFieldValue("time"); var time = this.getFieldValue("time");
code = "button_" + dropdown_pin + ".pressedFor(" + time + ")"; code = "button_" + dropdown_pin + ".pressedFor(" + time + ")";
} else if (dropown_function === "toggleButton") {
code = "button_" + dropdown_pin + ".toggleState()";
Blockly.Arduino.definitions_["define_button" + dropdown_pin + ""] =
"ToggleButton button_" + dropdown_pin + "(" + dropdown_pin + ");";
} }
return [code, Blockly.Arduino.ORDER_ATOMIC]; return [code, Blockly.Arduino.ORDER_ATOMIC];
}; };
+1 -1
View File
@@ -153,7 +153,7 @@ class ProjectHome extends Component {
</Typography> </Typography>
</Link> </Link>
{this.props.user && {this.props.user &&
this.props.user.email === project.creator ? ( (this.props.user.email === project.creator || this.props.user.role === 'admin') ? (
<div> <div>
<Divider <Divider
style={{ style={{
+1 -1
View File
@@ -132,7 +132,7 @@ class SaveProject extends Component {
<Tooltip title={this.state.projectType === 'project' ? Blockly.Msg.tooltip_update_project : Blockly.Msg.tooltip_save_project} arrow> <Tooltip title={this.state.projectType === 'project' ? Blockly.Msg.tooltip_update_project : Blockly.Msg.tooltip_save_project} arrow>
<IconButton <IconButton
className={this.props.classes.button} className={this.props.classes.button}
onClick={this.props.user.blocklyRole !== 'user' && (!this.props.project || this.props.user.email === this.props.project.creator) ? (e) => this.toggleMenu(e) : this.state.projectType === 'project' ? () => this.props.updateProject(this.state.projectType, this.props.project._id) : () => { this.setState({ projectType: 'project' }, () => this.saveProject()) }} onClick={this.props.user.blocklyRole === 'admin' && (!this.props.project || this.props.user.email === this.props.project.creator) ? (e) => this.toggleMenu(e) : this.state.projectType === 'project' ? () => this.props.updateProject(this.state.projectType, this.props.project._id) : () => { this.setState({ projectType: 'project' }, () => this.saveProject()) }}
size="large"> size="large">
<FontAwesomeIcon icon={faSave} size="xs" /> <FontAwesomeIcon icon={faSave} size="xs" />
</IconButton> </IconButton>
+1 -1
View File
@@ -86,7 +86,7 @@ class WorkspaceFunc extends Component {
(this.props.projectType === "project" || (this.props.projectType === "project" ||
this.props.projectType === "gallery") && this.props.projectType === "gallery") &&
this.props.user && this.props.user &&
this.props.user.email === this.props.project.creator ? ( (this.props.user.email === this.props.project.creator || this.props.user.role === 'admin' ) ? (
<DeleteProject <DeleteProject
project={this.props.project} project={this.props.project}
projectType={this.props.projectType} projectType={this.props.projectType}