Skip to content

Commit ad86296

Browse files
committed
added blocks for trajectory category
1 parent 7d088f2 commit ad86296

File tree

1 file changed

+178
-9
lines changed

1 file changed

+178
-9
lines changed

src/niryo_one_python_generators.js

Lines changed: 178 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -794,7 +794,7 @@ Blockly.Blocks['niryo_one_save_pose'] = {
794794
Blockly.Blocks['niryo_one_delete_pose'] = {
795795
init: function () {
796796
this.appendValueInput('POSE_NAME')
797-
.setCheck('String')
797+
.setCheck(null)
798798
.appendField('Delete pose named');
799799
this.setPreviousStatement(true, null);
800800
this.setNextStatement(true, null);
@@ -814,6 +814,87 @@ Blockly.Blocks['niryo_one_get_saved_pose_list'] = {
814814
}
815815
};
816816

817+
// Trajectories
818+
819+
// Blockly.Blocks['niryo_one_trajectory'] = {
820+
// // Create block which can get a trajectory (list of poses).
821+
// };
822+
823+
Blockly.Blocks['niryo_one_get_trajectory_saved'] = {
824+
init: function () {
825+
this.appendValueInput('TRAJECTORY_NAME')
826+
.setCheck('String')
827+
.appendField('Get trajectory named');
828+
this.setOutput(true, null);
829+
this.setColour(movement_color);
830+
this.setTooltip('Get trajectory saved in Niryo’s memory');
831+
this.setHelpUrl('');
832+
}
833+
};
834+
835+
Blockly.Blocks['niryo_one_get_saved_trajectory_list'] = {
836+
init: function () {
837+
this.appendDummyInput().appendField('Get list of saved trajectories');
838+
this.setOutput(true, null);
839+
this.setColour(movement_color);
840+
this.setTooltip('');
841+
this.setHelpUrl('');
842+
}
843+
};
844+
845+
Blockly.Blocks['niryo_one_execute_registered_trajectory'] = {
846+
init: function () {
847+
this.appendValueInput('TRAJECTORY_NAME')
848+
.setCheck('String')
849+
.appendField('Execute trajectory named');
850+
this.setOutput(true, null);
851+
this.setColour(movement_color);
852+
this.setTooltip('Execute trajectory from Niryo’s memory');
853+
this.setHelpUrl('');
854+
}
855+
};
856+
857+
Blockly.Blocks['niryo_one_save_last_learned_trajectory'] = {
858+
init: function () {
859+
this.appendValueInput('TRAJECTORY_NAME')
860+
.setCheck('String')
861+
.appendField('Save last executed trajectory under name');
862+
this.appendValueInput('TRAJECTORY_DESCRIPTION')
863+
.setCheck('String')
864+
.appendField('and description');
865+
this.setColour(movement_color);
866+
this.setInputsInline(true);
867+
this.setPreviousStatement(true, null);
868+
this.setNextStatement(true, null);
869+
this.setTooltip('Save last user executed trajectory');
870+
this.setHelpUrl('');
871+
}
872+
};
873+
874+
Blockly.Blocks['niryo_one_delete_trajectory'] = {
875+
init: function () {
876+
this.appendValueInput('TRAJECTORY_NAME')
877+
.setCheck(null)
878+
.appendField('Delete trajectory named');
879+
this.setPreviousStatement(true, null);
880+
this.setNextStatement(true, null);
881+
this.setColour(movement_color);
882+
this.setTooltip('Delete trajectory from Niryo’s memory');
883+
this.setHelpUrl('');
884+
}
885+
};
886+
887+
Blockly.Blocks['niryo_one_clean_trajectory_memory'] = {
888+
init: function () {
889+
this.appendDummyInput().appendField('Clean trajectory memory');
890+
this.setPreviousStatement(true, null);
891+
this.setNextStatement(true, null);
892+
this.setColour(movement_color);
893+
this.setTooltip('Clean trajectory from Niryo’s memory');
894+
this.setHelpUrl('');
895+
}
896+
};
897+
817898
// I/O
818899

819900
Blockly.Blocks['niryo_one_gpio_select'] = {
@@ -1629,7 +1710,7 @@ BlocklyPy['niryo_one_pick_and_place'] = function (block) {
16291710
', ' +
16301711
dist_smoothing_value +
16311712
')\n';
1632-
return [code, BlocklyPy.ORDER_NONE];
1713+
return code;
16331714
};
16341715

16351716
BlocklyPy['niryo_one_jog_joints'] = function (block) {
@@ -1751,7 +1832,7 @@ BlocklyPy['niryo_one_get_saved_pose'] = function (block) {
17511832
Blockly.Python.ORDER_ATOMIC
17521833
);
17531834
var code = 'n.get_saved_pose(' + value_pose_name + ')\n';
1754-
return [code, Blockly.Python.ORDER_NONE];
1835+
return code;
17551836
};
17561837

17571838
BlocklyPy['niryo_one_save_pose'] = function (block) {
@@ -1784,7 +1865,7 @@ BlocklyPy['niryo_one_save_pose'] = function (block) {
17841865
', ' +
17851866
number_pose_yaw +
17861867
')\n';
1787-
return [code, Blockly.Python.ORDER_NONE];
1868+
return code;
17881869
};
17891870

17901871
BlocklyPy['niryo_one_delete_pose'] = function (block) {
@@ -1794,14 +1875,78 @@ BlocklyPy['niryo_one_delete_pose'] = function (block) {
17941875
Blockly.Python.ORDER_ATOMIC
17951876
);
17961877
var code = 'n.delete_pose(' + pose_name + ')\n';
1797-
return [code, Blockly.Python.ORDER_NONE];
1878+
return code;
17981879
};
17991880

18001881
BlocklyPy['niryo_one_get_saved_pose_list'] = function (block) {
18011882
var code = 'n.get_saved_pose_list()\n';
18021883
return code;
18031884
};
18041885

1886+
// Trajectories
1887+
1888+
BlocklyPy['niryo_one_get_trajectory_saved'] = function (block) {
1889+
var value_trajectory_name = Blockly.Python.valueToCode(
1890+
block,
1891+
'TRAJECTORY_NAME',
1892+
Blockly.Python.ORDER_ATOMIC
1893+
);
1894+
var code = 'n.get_trajectory_saved(' + value_trajectory_name + ')\n';
1895+
return [code, Blockly.Python.ORDER_NONE];
1896+
};
1897+
1898+
BlocklyPy['niryo_one_get_saved_trajectory_list'] = function (block) {
1899+
var code = 'n.get_saved_trajectory_list()\n';
1900+
return code;
1901+
};
1902+
1903+
BlocklyPy['niryo_one_execute_registered_trajectory'] = function (block) {
1904+
var value_trajectory_name = Blockly.Python.valueToCode(
1905+
block,
1906+
'TRAJECTORY_NAME',
1907+
Blockly.Python.ORDER_ATOMIC
1908+
);
1909+
var code = 'n.execute_registered_trajectory(' + value_trajectory_name + ')\n';
1910+
return [code, Blockly.Python.ORDER_NONE];
1911+
};
1912+
1913+
BlocklyPy['niryo_one_save_last_learned_trajectory'] = function (block) {
1914+
var trajectory_name = Blockly.Python.valueToCode(
1915+
block,
1916+
'TRAJECTORY_NAME',
1917+
Blockly.Python.ORDER_ATOMIC
1918+
);
1919+
1920+
var trajectory_description = Blockly.Python.valueToCode(
1921+
block,
1922+
'TRAJECTORY_DESCRIPTION',
1923+
Blockly.Python.ORDER_ATOMIC
1924+
);
1925+
1926+
var code =
1927+
'n.save_last_learned_trajectory(' +
1928+
trajectory_name +
1929+
', ' +
1930+
trajectory_description +
1931+
')\n';
1932+
return code;
1933+
};
1934+
1935+
BlocklyPy['niryo_one_delete_trajectory'] = function (block) {
1936+
var trajectory_name = Blockly.Python.valueToCode(
1937+
block,
1938+
'TRAJECTORY_NAME',
1939+
Blockly.Python.ORDER_ATOMIC
1940+
);
1941+
var code = 'n.delete_trajectory(' + trajectory_name + ')\n';
1942+
return code;
1943+
};
1944+
1945+
BlocklyPy['niryo_one_clean_trajectory_memory'] = function (block) {
1946+
var code = 'n.clean_trajectory_memory()\n';
1947+
return code;
1948+
};
1949+
18051950
// I/O
18061951

18071952
BlocklyPy['niryo_one_gpio_state'] = function (block) {
@@ -2545,10 +2690,10 @@ const TOOLBOX = {
25452690
kind: 'BLOCK',
25462691
type: 'niryo_one_place_from_pose'
25472692
},
2548-
// {
2549-
// kind: 'BLOCK',
2550-
// type: 'niryo_one_pick_and_place'
2551-
// },
2693+
{
2694+
kind: 'BLOCK',
2695+
type: 'niryo_one_pick_and_place'
2696+
},
25522697
{
25532698
kind: 'BLOCK',
25542699
type: 'niryo_one_jog_joints'
@@ -2589,6 +2734,30 @@ const TOOLBOX = {
25892734
kind: 'BLOCK',
25902735
type: 'niryo_one_get_saved_pose_list'
25912736
},
2737+
{
2738+
kind: 'BLOCK',
2739+
type: 'niryo_one_get_trajectory_saved'
2740+
},
2741+
{
2742+
kind: 'BLOCK',
2743+
type: 'niryo_one_get_saved_trajectory_list'
2744+
},
2745+
{
2746+
kind: 'BLOCK',
2747+
type: 'niryo_one_execute_registered_trajectory'
2748+
},
2749+
{
2750+
kind: 'BLOCK',
2751+
type: 'niryo_one_save_last_learned_trajectory'
2752+
},
2753+
{
2754+
kind: 'BLOCK',
2755+
type: 'niryo_one_delete_trajectory'
2756+
},
2757+
{
2758+
kind: 'BLOCK',
2759+
type: 'niryo_one_clean_trajectory_memory'
2760+
},
25922761
{
25932762
kind: 'BLOCK',
25942763
type: 'niryo_one_gpio_select'

0 commit comments

Comments
 (0)