This command will match the input values with the pattern that the user specifies. Whenever such a pattern appears at the input pins, the controller will send a response which is the value of each joint at the time that the match happens. This command could be useful for homing an actuator with a sensor connected to an input pin. Note that the controller will only send the response after the first match happens and consequent matches wont be responded. This command by default will be submitted to the high priority queue. By setting queue value to 0, the command will be submitted to the normal priority queue.
Key, value pairs
Key
Value
Required
Description
"cmd"
"probe"
Yes
Match input values with a given pattern.
"id"
Int (>0)
No
Id can be any positive integer. If id is not provided, status of the command will not be returned from the controller.
"in0", "in1", …, "in15"
0 / 1
No
Probe command will wait until the value of each input that has a key in the command matches its value. If an input key is not present in the command, its value wont impact the match.
"queue"
0 / 1
No
If the value is 0, the command will be submitted to the normal priority queue. Otherwise, it will be submitted to the high priority queue. The default value 1.
Response
Key
Value
Description
"cmd"
"probe"
Response of a probe command will be a message with cmd field set to probe which will include the joints values at the moment of input match.
"id"
Int (>0)
Same id as the original command.
"j0", "j1", …, "j7"
Double
The value of each joint when the pattern matches.
Example
{"cmd":"probe", "id":11, "in4":0, "in7":1}
This command will wait until the input 4 value is 0 and input 7 value is 1. Then it will send a message that includes the values of all joints at that moment.