Skip to content

Commit b256353

Browse files
committed
added blocks for conveyor category
1 parent ad86296 commit b256353

File tree

1 file changed

+106
-1
lines changed

1 file changed

+106
-1
lines changed

src/niryo_one_python_generators.js

Lines changed: 106 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1330,7 +1330,7 @@ Blockly.Blocks['niryo_one_conveyor_models'] = {
13301330

13311331
Blockly.Blocks['niryo_one_conveyor_use'] = {
13321332
init: function () {
1333-
this.appendDummyInput().appendField('Activate conveyor');
1333+
this.appendDummyInput().appendField('Activate conveyor and return its ID');
13341334
this.setColour(conveyor_color);
13351335
this.setOutput(true, 'String');
13361336
this.setHelpUrl('');
@@ -1340,6 +1340,20 @@ Blockly.Blocks['niryo_one_conveyor_use'] = {
13401340
}
13411341
};
13421342

1343+
Blockly.Blocks['niryo_one_conveyor_unset'] = {
1344+
init: function () {
1345+
this.appendValueInput('CONVEYOR_SWITCH')
1346+
.setCheck('niryo_one_conveyor_models')
1347+
.appendField('Remove conveyor');
1348+
1349+
this.setColour(conveyor_color);
1350+
this.setHelpUrl('');
1351+
this.setTooltip('Remove specific conveyor.');
1352+
this.setPreviousStatement(true, null);
1353+
this.setNextStatement(true, null);
1354+
}
1355+
};
1356+
13431357
Blockly.Blocks['niryo_one_conveyor_control'] = {
13441358
init: function () {
13451359
this.appendValueInput('CONVEYOR_SWITCH')
@@ -1369,6 +1383,34 @@ Blockly.Blocks['niryo_one_conveyor_control'] = {
13691383
}
13701384
};
13711385

1386+
Blockly.Blocks['niryo_one_conveyor_run'] = {
1387+
init: function () {
1388+
this.appendValueInput('CONVEYOR_SWITCH')
1389+
.setCheck('niryo_one_conveyor_models')
1390+
.appendField('Run conveyor:');
1391+
1392+
this.appendValueInput('SPEED_PERCENT')
1393+
.setCheck('Number')
1394+
.appendField('with speed (%):');
1395+
1396+
this.appendDummyInput()
1397+
.appendField('in direction:')
1398+
.appendField(
1399+
new Blockly.FieldDropdown([
1400+
['FORWARD', '1'],
1401+
['BACKWARD', '-1']
1402+
]),
1403+
'DIRECTION_SELECT'
1404+
);
1405+
this.setColour(conveyor_color);
1406+
this.setHelpUrl('');
1407+
this.setTooltip('Run conveyor');
1408+
this.setPreviousStatement(true, null);
1409+
this.setNextStatement(true, null);
1410+
this.setInputsInline(false);
1411+
}
1412+
};
1413+
13721414
Blockly.Blocks['niryo_one_conveyor_stop'] = {
13731415
init: function () {
13741416
this.appendValueInput('CONVEYOR_SWITCH')
@@ -1383,6 +1425,17 @@ Blockly.Blocks['niryo_one_conveyor_stop'] = {
13831425
}
13841426
};
13851427

1428+
Blockly.Blocks['niryo_one_get_connected_conveyors_id'] = {
1429+
init: function () {
1430+
this.appendDummyInput().appendField('Get list of connected conveyors');
1431+
this.setOutput(true, null);
1432+
this.setColour(conveyor_color);
1433+
this.setPreviousStatement(true, null);
1434+
this.setNextStatement(true, null);
1435+
this.setHelpUrl('');
1436+
this.setTooltip('Conveyors directions available with Niryo One.');
1437+
}
1438+
};
13861439
/*
13871440
* Generators
13881441
*/
@@ -2215,6 +2268,20 @@ BlocklyPy['niryo_one_conveyor_use'] = function (block) {
22152268
return code;
22162269
};
22172270

2271+
BlocklyPy['niryo_one_conveyor_use'] = function (block) {
2272+
var code = 'n.set_conveyor()\n';
2273+
return code;
2274+
};
2275+
2276+
BlocklyPy['niryo_one_conveyor_unset'] = function (block) {
2277+
var conveyor_id =
2278+
BlocklyPy.valueToCode(block, 'CONVEYOR_SWITCH', BlocklyPy.ORDER_ATOMIC) ||
2279+
'(0)';
2280+
conveyor_id = conveyor_id.replace('(', '').replace(')', '');
2281+
var code = 'n.unset_conveyor(' + conveyor_id + ')\n';
2282+
return code;
2283+
};
2284+
22182285
BlocklyPy['niryo_one_conveyor_control'] = function (block) {
22192286
var conveyor_id =
22202287
BlocklyPy.valueToCode(block, 'CONVEYOR_SWITCH', BlocklyPy.ORDER_ATOMIC) ||
@@ -2236,6 +2303,27 @@ BlocklyPy['niryo_one_conveyor_control'] = function (block) {
22362303
return code;
22372304
};
22382305

2306+
BlocklyPy['niryo_one_conveyor_run'] = function (block) {
2307+
var conveyor_id =
2308+
BlocklyPy.valueToCode(block, 'CONVEYOR_SWITCH', BlocklyPy.ORDER_ATOMIC) ||
2309+
'(0)';
2310+
conveyor_id = conveyor_id.replace('(', '').replace(')', '');
2311+
var speed_percent =
2312+
BlocklyPy.valueToCode(block, 'SPEED_PERCENT', BlocklyPy.ORDER_ATOMIC) ||
2313+
'(0)';
2314+
speed_percent = speed_percent.replace('(', '').replace(')', '');
2315+
var direction = block.getFieldValue('DIRECTION_SELECT');
2316+
var code =
2317+
'n.run_conveyor(' +
2318+
conveyor_id +
2319+
', ' +
2320+
speed_percent +
2321+
', ' +
2322+
direction +
2323+
')\n';
2324+
return code;
2325+
};
2326+
22392327
BlocklyPy['niryo_one_conveyor_stop'] = function (block) {
22402328
var conveyor_id =
22412329
BlocklyPy.valueToCode(block, 'CONVEYOR_SWITCH', BlocklyPy.ORDER_ATOMIC) ||
@@ -2245,6 +2333,11 @@ BlocklyPy['niryo_one_conveyor_stop'] = function (block) {
22452333
return code;
22462334
};
22472335

2336+
BlocklyPy['niryo_one_get_connected_conveyors_id'] = function (block) {
2337+
var code = 'n.get_connected_conveyors_id()\n';
2338+
return code;
2339+
};
2340+
22482341
// Creating a toolbox containing all the main (default) blocks.
22492342
const TOOLBOX = {
22502343
kind: 'categoryToolbox',
@@ -2858,13 +2951,25 @@ const TOOLBOX = {
28582951
kind: 'BLOCK',
28592952
type: 'niryo_one_conveyor_use'
28602953
},
2954+
{
2955+
kind: 'BLOCK',
2956+
type: 'niryo_one_conveyor_unset'
2957+
},
28612958
{
28622959
kind: 'BLOCK',
28632960
type: 'niryo_one_conveyor_control'
28642961
},
2962+
{
2963+
kind: 'BLOCK',
2964+
type: 'niryo_one_conveyor_run'
2965+
},
28652966
{
28662967
kind: 'BLOCK',
28672968
type: 'niryo_one_conveyor_stop'
2969+
},
2970+
{
2971+
kind: 'BLOCK',
2972+
type: 'niryo_one_get_connected_conveyors_id'
28682973
}
28692974
]
28702975
}

0 commit comments

Comments
 (0)