In sending a command, firstly send header that defined as 3 characters. Secondly formatting and send each argument.
Before sending a command, client must convert binary-expression to ascii-expression. (If the client sending a command without conversion, PLEN's moving is different from you intended.)
No differences the command line made of upper case or lower case. Required baud-rate is 2,000,000.
Args | Roles | Min (dec) | Max (dec) | Format |
---|---|---|---|---|
DEVICE_ID | Set a device id. | 0 | 23 | 0 padding,hex,2 bytes |
VALUE | Set to apply native value. | -2048 | 2047 | 0 padding,hex,3 bytes |
example:
If you want to apply 1000 to device 10, send command below.
$an0a3e8
Args | Roles | Min (dec) | Max (dec) | Format |
---|---|---|---|---|
DEVICE_ID | Set a device id. | 0 | 23 | 0 padding,hex,2 bytes |
VALUE | Set to apply diff value. | -2048 | 2047 | 0 padding,hex,3 bytes |
example:
If you want to apply home value - 100 to device 4, send command below.
$ad04f9c
Attention!
You could also use "$MP", but this is deprecated.
Args | Roles | Min (dec) | Max (dec) | Format |
---|---|---|---|---|
SLOT | Set to read slot. | 0 | 89 | 0 padding,hex,2 bytes |
example:
If you want to play slot 4, send command below. See also...
$pm04
Attention!
You could also use "$MS", but this is deprecated.
example:
If you want to stop a motion, send command below.
$sm
example:
If you want to apply home position, send command below.
$hp
Args | Roles | Min (dec) | Max (dec) | Format |
---|---|---|---|---|
SLOT | Set to read slot. | 0 | 89 | 0 padding,hex,2 bytes |
LOOP_COUNT | Set number of play. | 0 | 255 | 0 padding,hex,2 bytes |
example:
If you want to push function that plays slot 10 three times, send command below.
#pu0a03
example:
If you want to pop a function, send command below.
#po
example:
If you want to reset the interpreter, send command below.
#ri
Args | Roles | Min (dec) | Max (dec) | Format |
---|---|---|---|---|
SLOT | Set to write slot. | 0 | 89 | 0 padding,hex,2 bytes |
NAME | Set a motion name. | --- | --- | White space padding,20 bytes |
USE_LOOP | Use loop function or not. | 0 | 1 | True (1) or false (0), 1 byte |
LOOP_BEGIN | Set a loop beginning frame. | 0 | 255 | 0 padding,hex,2 bytes |
LOOP_END | Set a loop ending frame. | 0 | 255 | 0 padding,hex,2 bytes |
LOOP_COUNT | Set a loop count. (255 as infinity.) | 0 | 255 | 0 padding,hex,2 bytes |
USE_JUMP | Use jump function or not. | 0 | 1 | True (1) or false (0), 1 byte |
JUMP_SLOT | Jump to the slot after stopped the motion. | 0 | 255 | 0 padding,hex,2 bytes |
USE_EXTRA | Use extra function or not. (WIP) | 0 | 1 | True (1) or false (0), 1 byte |
FRAME_LENGTH | Set a frame length. | 1 | 20 | 0 padding,hex,2 bytes |
example:
Please get more details at ">MF" section.
Args | Roles | Min (dec) | Max (dec) | Format |
---|---|---|---|---|
SLOT | Set to write slot. | 0 | 89 | 0 padding,hex,2 bytes |
FRAME_ID | Set a frame id. | 1 | 20 | 0 padding,hex,2 bytes |
TRANSITION_TIME_MS | Set a transition time (msec). | 32 | 65535 | 0 padding,hex,4 bytes |
VALUE[DEVICE_ID] | Set to apply value. (*1) | -32768 | 32767 | 0 padding,hex,4 bytes |
(*1) Sum of devices is 24 and the all are servo motors in current implementation.
example
Introduce how to install a motion below.
Args | Values |
---|---|
SLOT | 0 |
NAME | Test |
USE_LOOP | True |
LOOP_BEGIN | 0 |
LOOP_END | 1 |
LOOP_COUNT | 3 |
USE_JUMP | True |
JUMP_SLOT | 50 |
USE_EXTRA | False |
FRAME_LENGTH | 2 |
Args | Values |
---|---|
TRANSITION_TIME_MS | 100 |
VALUE[EVEN] | 0 |
VALUE[ODD] | -1 |
Please send command below. (Do not need to insert CR, LF, or CRLF actually.)
>MH00
Test
1
00
01
03
1
32
0
02
>MF
00
00
0064
0000ffff0000ffff0000ffff0000ffff
0000ffff0000ffff0000ffff0000ffff
0000ffff0000ffff0000ffff0000ffff
>MF
00
01
0064
0000ffff0000ffff0000ffff0000ffff
0000ffff0000ffff0000ffff0000ffff
0000ffff0000ffff0000ffff0000ffff
If you are interested deeply, please see also the implementation on the Control Server.
example:
If you want to reset the joint settings, send command below.
>js
Args | Roles | Min (dec) | Max (dec) | Format |
---|---|---|---|---|
DEVICE_ID | Set a device id. | 0 | 23 | 0 padding,hex,2 bytes |
VALUE | Set to apply home value. | -2048 | 2047 | 0 padding,hex,3 bytes |
example:
If you want to apply 100 as home value to device 0, send command below.
>ho00064
Args | Roles | Min (dec) | Max (dec) | Format |
---|---|---|---|---|
DEVICE_ID | Set a device id. | 0 | 23 | 0 padding,hex,2 bytes |
VALUE | Set to apply max value. | -2048 | 2047 | 0 padding,hex,3 bytes |
example:
If you want to apply 100 as max value to device 0, send command below.
>ma00064
Args | Roles | Min (dec) | Max (dec) | Format |
---|---|---|---|---|
DEVICE_ID | Set a device id. | 0 | 23 | 0 padding,hex,2 bytes |
VALUE | Set to apply min value. | -2048 | 2047 | 0 padding,hex,3 bytes |
example:
If you want to apply -1 as min value to device 10, send command below.
>mi0afff
example:
If you want to dump the joint settings, send command below.
<js
At that time, outputting result like json below.
[
{
"@device": <integer>,
"max": <integer>,
"min": <integer>,
"home": <integer>
},
...
]
Args | Roles | Min (dec) | Max (dec) | Format |
---|---|---|---|---|
SLOT | Set to read slot. | 0 | 89 | 0 padding,hex,2 bytes |
example:
If you want to dump slot 0, send command below.
<mo00
At that time, outputting result like "motion.json". (See also...) However, property "device"'s type is not string but integer defined as device id in "device_map.json".
example:
If you want to dump the version information, send command below.
<vi
At that time, outputting result like json below.
{
"device": <string>,
"codename": <string>,
"version": <string>
}