@@ -896,7 +896,7 @@ Blockly.Blocks['niryo_one_clean_trajectory_memory'] = {
896
896
}
897
897
} ;
898
898
899
- // I/O
899
+ // I/O - Hardware
900
900
901
901
Blockly . Blocks [ 'niryo_one_gpio_select' ] = {
902
902
init : function ( ) {
@@ -979,6 +979,56 @@ Blockly.Blocks['niryo_one_digital_read'] = {
979
979
}
980
980
} ;
981
981
982
+ Blockly . Blocks [ 'niryo_one_get_hardware_status' ] = {
983
+ init : function ( ) {
984
+ this . appendDummyInput ( ) . appendField ( 'Get hardware status' ) ;
985
+ this . setOutput ( true , 'any' ) ;
986
+ this . setColour ( io_color ) ;
987
+ this . setTooltip (
988
+ 'Get hardware status : Temperature, Hardware version, motors names & types …'
989
+ ) ;
990
+ this . setHelpUrl ( '' ) ;
991
+ }
992
+ } ;
993
+
994
+ Blockly . Blocks [ 'niryo_one_get_digital_io_state' ] = {
995
+ init : function ( ) {
996
+ this . appendDummyInput ( ) . appendField ( 'Get digital IO state' ) ;
997
+ this . setOutput ( true , 'any' ) ;
998
+ this . setColour ( io_color ) ;
999
+ this . setTooltip ( 'Get Digital IO state : Names, modes, states.' ) ;
1000
+ this . setHelpUrl ( '' ) ;
1001
+ }
1002
+ } ;
1003
+
1004
+ Blockly . Blocks [ 'niryo_one_get_analog_io_state' ] = {
1005
+ init : function ( ) {
1006
+ this . appendDummyInput ( ) . appendField ( 'Get analog IO state' ) ;
1007
+ this . setOutput ( true , 'any' ) ;
1008
+ this . setColour ( io_color ) ;
1009
+ this . setTooltip ( 'Get Analog IO state : Names, modes, states.' ) ;
1010
+ this . setHelpUrl ( '' ) ;
1011
+ }
1012
+ } ;
1013
+
1014
+ Blockly . Blocks [ 'niryo_one_analog_write' ] = {
1015
+ init : function ( ) {
1016
+ this . appendValueInput ( 'ANALOG_WRITE_PIN' )
1017
+ . setCheck ( 'niryo_one_gpio_select' )
1018
+ . appendField ( 'Set Pin' ) ;
1019
+ this . appendDummyInput ( )
1020
+ . appendField ( 'to voltage' )
1021
+ . appendField ( 'VOLTAGE_VALUE' )
1022
+ . setCheck ( 'Number' ) ;
1023
+ this . setInputsInline ( true ) ;
1024
+ this . setPreviousStatement ( true , null ) ;
1025
+ this . setNextStatement ( true , null ) ;
1026
+ this . setColour ( io_color ) ;
1027
+ this . setTooltip ( 'Set and analog pin_id state to a value between 0 and 5V.' ) ;
1028
+ this . setHelpUrl ( '' ) ;
1029
+ }
1030
+ } ;
1031
+
982
1032
Blockly . Blocks [ 'niryo_one_gpio_state' ] = {
983
1033
init : function ( ) {
984
1034
this . appendDummyInput ( )
@@ -1035,6 +1085,41 @@ Blockly.Blocks['niryo_one_set_12v_switch'] = {
1035
1085
}
1036
1086
} ;
1037
1087
1088
+ Blockly . Blocks [ 'niryo_one_analog_write' ] = {
1089
+ init : function ( ) {
1090
+ this . appendValueInput ( 'ANALOG_WRITE_PIN' )
1091
+ . setCheck ( 'niryo_one_gpio_select' )
1092
+ . appendField ( 'Set Pin' ) ;
1093
+ this . appendDummyInput ( )
1094
+ . appendField ( 'to state' )
1095
+ . appendField (
1096
+ new Blockly . FieldDropdown ( [
1097
+ [ 'HIGH' , 'PIN_HIGH' ] ,
1098
+ [ 'LOW' , 'PIN_LOW' ]
1099
+ ] ) ,
1100
+ 'PIN_WRITE_SELECT'
1101
+ ) ;
1102
+ this . setInputsInline ( true ) ;
1103
+ this . setPreviousStatement ( true , null ) ;
1104
+ this . setNextStatement ( true , null ) ;
1105
+ this . setColour ( io_color ) ;
1106
+ this . setTooltip ( '' ) ;
1107
+ this . setHelpUrl ( '' ) ;
1108
+ }
1109
+ } ;
1110
+
1111
+ Blockly . Blocks [ 'niryo_one_analog_read' ] = {
1112
+ init : function ( ) {
1113
+ this . appendValueInput ( 'ANALOG_READ_PIN' )
1114
+ . setCheck ( 'niryo_one_gpio_select' )
1115
+ . appendField ( 'Read analog value of pin' ) ;
1116
+ this . setOutput ( true , 'any' ) ;
1117
+ this . setColour ( io_color ) ;
1118
+ this . setTooltip ( 'Read the analog pin value.' ) ;
1119
+ this . setHelpUrl ( '' ) ;
1120
+ }
1121
+ } ;
1122
+
1038
1123
// Tool
1039
1124
1040
1125
Blockly . Blocks [ 'niryo_one_tool_select' ] = {
@@ -2198,7 +2283,7 @@ BlocklyPy['niryo_one_clean_trajectory_memory'] = function (block) {
2198
2283
return code ;
2199
2284
} ;
2200
2285
2201
- // I/O
2286
+ // I/O - Hardware
2202
2287
2203
2288
BlocklyPy [ 'niryo_one_gpio_state' ] = function ( block ) {
2204
2289
var dropdown_gpio_state_select = block . getFieldValue ( 'GPIO_STATE_SELECT' ) ;
@@ -2237,6 +2322,45 @@ BlocklyPy['niryo_one_digital_read'] = function (block) {
2237
2322
return [ code , BlocklyPy . ORDER_NONE ] ;
2238
2323
} ;
2239
2324
2325
+ BlocklyPy [ 'niryo_one_get_hardware_status' ] = function ( block ) {
2326
+ var code = 'n.get_hardware_status()\n' ;
2327
+ return [ code , BlocklyPy . ORDER_NONE ] ;
2328
+ } ;
2329
+
2330
+ BlocklyPy [ 'niryo_one_get_digital_io_state' ] = function ( block ) {
2331
+ var code = 'n.get_digital_io_state()\n' ;
2332
+ return [ code , BlocklyPy . ORDER_NONE ] ;
2333
+ } ;
2334
+
2335
+ BlocklyPy [ 'niryo_one_get_analog_io_state' ] = function ( block ) {
2336
+ var code = 'n.get_analog_io_state()\n' ;
2337
+ return [ code , BlocklyPy . ORDER_NONE ] ;
2338
+ } ;
2339
+
2340
+ BlocklyPy [ 'niryo_one_analog_write' ] = function ( block ) {
2341
+ var value_pin =
2342
+ BlocklyPy . valueToCode ( block , 'ANALOG_WRITE_PIN' , BlocklyPy . ORDER_ATOMIC ) ||
2343
+ '(0)' ;
2344
+ value_pin = value_pin . replace ( '(' , '' ) . replace ( ')' , '' ) ;
2345
+
2346
+ var voltage_value =
2347
+ BlocklyPy . valueToCode ( block , 'VOLTAGE_VALUE' , BlocklyPy . ORDER_ATOMIC ) ||
2348
+ '0' ;
2349
+ voltage_value = voltage_value . replace ( '(' , '' ) . replace ( ')' , '' ) ;
2350
+
2351
+ var code = 'n.analog_write(' + value_pin + ', ' + voltage_value + ')\n' ;
2352
+ return code ;
2353
+ } ;
2354
+
2355
+ BlocklyPy [ 'niryo_one_analog_read' ] = function ( block ) {
2356
+ var value_pin =
2357
+ BlocklyPy . valueToCode ( block , 'ANALOG_READ_PIN' , BlocklyPy . ORDER_ATOMIC ) ||
2358
+ '(0)' ;
2359
+ value_pin = value_pin . replace ( '(' , '' ) . replace ( ')' , '' ) ;
2360
+ var code = 'n.analog_read(' + value_pin + ')' ;
2361
+ return [ code , BlocklyPy . ORDER_NONE ] ;
2362
+ } ;
2363
+
2240
2364
BlocklyPy [ 'niryo_one_gpio_select' ] = function ( block ) {
2241
2365
var dropdown_gpio_select = block . getFieldValue ( 'GPIO_SELECT' ) ;
2242
2366
var code = dropdown_gpio_select ;
@@ -2581,6 +2705,7 @@ BlocklyPy['niryo_one_get_connected_conveyors_id'] = function (block) {
2581
2705
} ;
2582
2706
2583
2707
// Sound
2708
+
2584
2709
BlocklyPy [ 'niryo_one_get_sounds' ] = function ( block ) {
2585
2710
var code = 'n.get_sounds()\n' ;
2586
2711
return [ code , BlocklyPy . ORDER_NONE ] ;
@@ -3178,6 +3303,18 @@ const TOOLBOX = {
3178
3303
kind : 'BLOCK' ,
3179
3304
type : 'niryo_one_digital_read'
3180
3305
} ,
3306
+ {
3307
+ kind : 'BLOCK' ,
3308
+ type : 'niryo_one_get_hardware_status'
3309
+ } ,
3310
+ {
3311
+ kind : 'BLOCK' ,
3312
+ type : 'niryo_one_get_digital_io_state'
3313
+ } ,
3314
+ {
3315
+ kind : 'BLOCK' ,
3316
+ type : 'niryo_one_get_analog_io_state'
3317
+ } ,
3181
3318
{
3182
3319
kind : 'BLOCK' ,
3183
3320
type : 'niryo_one_gpio_state'
@@ -3190,6 +3327,14 @@ const TOOLBOX = {
3190
3327
kind : 'BLOCK' ,
3191
3328
type : 'niryo_one_set_12v_switch'
3192
3329
} ,
3330
+ {
3331
+ kind : 'BLOCK' ,
3332
+ type : 'niryo_one_analog_write'
3333
+ } ,
3334
+ {
3335
+ kind : 'BLOCK' ,
3336
+ type : 'niryo_one_analog_read'
3337
+ } ,
3193
3338
{
3194
3339
kind : 'BLOCK' ,
3195
3340
type : 'niryo_one_tool_select'
0 commit comments