diff --git a/src/assets/toolbox_adv.xml b/src/assets/toolbox_adv.xml
index 86b5982..060ffd4 100644
--- a/src/assets/toolbox_adv.xml
+++ b/src/assets/toolbox_adv.xml
@@ -321,6 +321,10 @@
+
+
+
+
diff --git a/src/components/Activity.vue b/src/components/Activity.vue
index 49601a4..567536c 100644
--- a/src/components/Activity.vue
+++ b/src/components/Activity.vue
@@ -2089,6 +2089,74 @@ export default {
var code = 'get_bot().get_mpu_temp()';
return [code, Blockly.Python.ORDER_ATOMIC];
};
+
+ Blockly.Blocks['coderbot_atmega_get_input'] = {
+ /**
+ * Block for get_input function.
+ * @this Blockly.Block
+ */
+ init: function() {
+ this.setHelpUrl(Blockly.Msg.LOGIC_BOOLEAN_HELPURL);
+ this.setColour(240);
+ this.appendDummyInput()
+ .appendField(Blockly.Msg.CODERBOT_ATMEGA_READ)
+ .appendField(new Blockly.FieldDropdown([[Blockly.Msg.CODERBOT_ATMEGA_AI_1, "0"],
+ [Blockly.Msg.CODERBOT_ATMEGA_AI_2, "1"],
+ [Blockly.Msg.CODERBOT_ATMEGA_DI_3, "2"],
+ [Blockly.Msg.CODERBOT_ATMEGA_DI_4, "3"],
+ [Blockly.Msg.CODERBOT_ATMEGA_DI_5, "4"],
+ [Blockly.Msg.CODERBOT_ATMEGA_DI_6, "5"],]), 'INPUT');
+ this.setOutput(true, 'Number');
+ this.setTooltip(Blockly.Msg.LOGIC_BOOLEAN_TOOLTIP);
+ }
+ };
+
+ Blockly.Python['coderbot_atmega_get_input'] = function(block) {
+ // input index: 0, 1 are Analogs, 2..5 are Digital
+ var input = block.getFieldValue('INPUT');
+ var code = 'get_atmega().get_input(' + input + ')';
+ return [code, Blockly.Python.ORDER_ATOMIC];
+ };
+
+ Blockly.Blocks['coderbot_atmega_set_output'] = {
+ /**
+ * Block for set_output function.
+ * @this Blockly.Block
+ */
+ init: function() {
+ this.setHelpUrl(Blockly.Msg.LOGIC_BOOLEAN_HELPURL);
+ this.setColour(240);
+ this.appendDummyInput()
+ .appendField(Blockly.Msg.CODERBOT_ATMEGA_WRITE)
+ .appendField(new Blockly.FieldDropdown([[Blockly.Msg.CODERBOT_ATMEGA_DO_1, "0"],
+ [Blockly.Msg.CODERBOT_ATMEGA_DO_2, "1"],
+ [Blockly.Msg.CODERBOT_ATMEGA_DO_3, "2"],
+ [Blockly.Msg.CODERBOT_ATMEGA_DO_4, "3"],
+ [Blockly.Msg.CODERBOT_ATMEGA_DO_5, "4"],
+ [Blockly.Msg.CODERBOT_ATMEGA_DO_6, "5"],
+ [Blockly.Msg.CODERBOT_ATMEGA_DO_7, "6"],
+ [Blockly.Msg.CODERBOT_ATMEGA_DO_8, "7"],
+ [Blockly.Msg.CODERBOT_ATMEGA_DO_9, "8"],
+ [Blockly.Msg.CODERBOT_ATMEGA_DO_10, "9"],
+ [Blockly.Msg.CODERBOT_ATMEGA_DO_11, "10"],]), 'OUTPUT');
+ this.appendValueInput('VALUE')
+ .setCheck('Boolean')
+ .appendField(Blockly.Msg.CODERBOT_ATMEGA_VALUE);
+ this.setInputsInline(true);
+ this.setPreviousStatement(true);
+ this.setNextStatement(true);
+ this.setTooltip(Blockly.Msg.LOGIC_BOOLEAN_TOOLTIP);
+ }
+ };
+
+ Blockly.Python['coderbot_atmega_set_output'] = function(block) {
+ // input index: 0, 10 are Digital
+ var output = block.getFieldValue('OUTPUT');
+ var value = Blockly.Python.valueToCode(block, 'VALUE',
+ Blockly.Python.ORDER_NONE) || '\'\'';
+ var code = 'get_atmega().set_output(' + output + ', ' + value + ')\n';
+ return code;
+ };
},
toggleSidebar() {
diff --git a/static/js/blockly/bot_en.js b/static/js/blockly/bot_en.js
index 6b052aa..d27a1e0 100644
--- a/static/js/blockly/bot_en.js
+++ b/static/js/blockly/bot_en.js
@@ -92,4 +92,23 @@ Blockly.Msg.CODERBOT_EVENT_PUBLISH = "publish";
Blockly.Msg.CODERBOT_EVENT_ON_TOPIC = "on topic";
Blockly.Msg.CODERBOT_EVENT_GENERATOR = "event generator";
Blockly.Msg.CODERBOT_CONVERSATION_PARSE = "parse";
-
+Blockly.Msg.CODERBOT_ATMEGA_READ = "Read";
+Blockly.Msg.CODERBOT_ATMEGA_VALUE = "Value";
+Blockly.Msg.CODERBOT_ATMEGA_AI_1 = "Analog Input 1";
+Blockly.Msg.CODERBOT_ATMEGA_AI_2 = "Analog Input 2";
+Blockly.Msg.CODERBOT_ATMEGA_DI_3 = "Digital Input 1";
+Blockly.Msg.CODERBOT_ATMEGA_DI_4 = "Digital Input 2";
+Blockly.Msg.CODERBOT_ATMEGA_DI_5 = "Digital Input3";
+Blockly.Msg.CODERBOT_ATMEGA_DI_6 = "Digital Input 4";
+Blockly.Msg.CODERBOT_ATMEGA_WRITE = "Write";
+Blockly.Msg.CODERBOT_ATMEGA_DO_1 = "Digital Output 1";
+Blockly.Msg.CODERBOT_ATMEGA_DO_2 = "Digital Output 2";
+Blockly.Msg.CODERBOT_ATMEGA_DO_3 = "Digital Output 3";
+Blockly.Msg.CODERBOT_ATMEGA_DO_4 = "Digital Output 4";
+Blockly.Msg.CODERBOT_ATMEGA_DO_5 = "Digital Output 5";
+Blockly.Msg.CODERBOT_ATMEGA_DO_6 = "Digital Output 6";
+Blockly.Msg.CODERBOT_ATMEGA_DO_7 = "Digital Output 7";
+Blockly.Msg.CODERBOT_ATMEGA_DO_8 = "Digital Output 8";
+Blockly.Msg.CODERBOT_ATMEGA_DO_9 = "Digital Output 9";
+Blockly.Msg.CODERBOT_ATMEGA_DO_10 = "Digital Output 10";
+Blockly.Msg.CODERBOT_ATMEGA_DO_11 = "Digital Output 11";
\ No newline at end of file
diff --git a/static/js/blockly/bot_it.js b/static/js/blockly/bot_it.js
index 315c2da..bb74da5 100644
--- a/static/js/blockly/bot_it.js
+++ b/static/js/blockly/bot_it.js
@@ -92,3 +92,23 @@ Blockly.Msg.CODERBOT_EVENT_PUBLISH = "pubblica";
Blockly.Msg.CODERBOT_EVENT_ON_TOPIC = "sul topic";
Blockly.Msg.CODERBOT_EVENT_GENERATOR = "genera eventi";
Blockly.Msg.CODERBOT_CONVERSATION_PARSE = "interpreta";
+Blockly.Msg.CODERBOT_ATMEGA_READ = "Leggi";
+Blockly.Msg.CODERBOT_ATMEGA_VALUE = "Valore";
+Blockly.Msg.CODERBOT_ATMEGA_AI_1 = "Analog Input 1";
+Blockly.Msg.CODERBOT_ATMEGA_AI_2 = "Analog Input 2";
+Blockly.Msg.CODERBOT_ATMEGA_DI_3 = "Digital Input 1";
+Blockly.Msg.CODERBOT_ATMEGA_DI_4 = "Digital Input 2";
+Blockly.Msg.CODERBOT_ATMEGA_DI_5 = "Digital Input3";
+Blockly.Msg.CODERBOT_ATMEGA_DI_6 = "Digital Input 4";
+Blockly.Msg.CODERBOT_ATMEGA_WRITE = "Scrivi";
+Blockly.Msg.CODERBOT_ATMEGA_DO_1 = "Digital Output 1";
+Blockly.Msg.CODERBOT_ATMEGA_DO_2 = "Digital Output 2";
+Blockly.Msg.CODERBOT_ATMEGA_DO_3 = "Digital Output 3";
+Blockly.Msg.CODERBOT_ATMEGA_DO_4 = "Digital Output 4";
+Blockly.Msg.CODERBOT_ATMEGA_DO_5 = "Digital Output 5";
+Blockly.Msg.CODERBOT_ATMEGA_DO_6 = "Digital Output 6";
+Blockly.Msg.CODERBOT_ATMEGA_DO_7 = "Digital Output 7";
+Blockly.Msg.CODERBOT_ATMEGA_DO_8 = "Digital Output 8";
+Blockly.Msg.CODERBOT_ATMEGA_DO_9 = "Digital Output 9";
+Blockly.Msg.CODERBOT_ATMEGA_DO_10 = "Digital Output 10";
+Blockly.Msg.CODERBOT_ATMEGA_DO_11 = "Digital Output 11";
\ No newline at end of file
diff --git a/vue-app.tar.gz b/vue-app.tar.gz
new file mode 100644
index 0000000..01701f6
Binary files /dev/null and b/vue-app.tar.gz differ