This shows you the differences between two versions of the page.
specifications:protocol [2016/04/21 19:41] 127.0.0.1 external edit |
specifications:protocol [2021/04/01 13:51] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | < | ||
- | Protocol | ||
- | ======== | ||
- | ## Basic Specification | ||
- | 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. | ||
- | |||
- | |||
- | ## Group of Controller Command | ||
- | ### $AN (Apply Native Value) | ||
- | |||
- | |Args | ||
- | |: | ||
- | |DEVICE_ID|Set a device id. |0 |23 |0 padding,hex,2byte| | ||
- | |VALUE | ||
- | |||
- | *example*: | ||
- | If you want to apply **1000** to device **10**, send command below. | ||
- | |||
- | ``` | ||
- | $an0a3e8 | ||
- | ``` | ||
- | |||
- | ### $AD (Apply Diff Value) | ||
- | |||
- | |Args | ||
- | |: | ||
- | |DEVICE_ID|Set a device id. |0 |23 |0 padding,hex,2byte| | ||
- | |VALUE | ||
- | |||
- | *example*: | ||
- | If you want to apply **home value - 100** to device **4**, send command below. | ||
- | |||
- | ``` | ||
- | $ad04f9c | ||
- | ``` | ||
- | |||
- | ### $PM (Play a Motion) | ||
- | |||
- | **Attention!** | ||
- | You could also use " | ||
- | |||
- | |Args|Roles | ||
- | |: | ||
- | |SLOT|Set to read slot.|0 | ||
- | |||
- | *example*: | ||
- | If you want to play slot **4**, send command below. | ||
- | |||
- | ``` | ||
- | $pm04 | ||
- | ``` | ||
- | |||
- | ### $SM (Stop a Motion) | ||
- | |||
- | **Attention!** | ||
- | You could also use " | ||
- | |||
- | *example*: | ||
- | If you want to stop a motion, send command below. | ||
- | |||
- | ``` | ||
- | $sm | ||
- | ``` | ||
- | |||
- | ### $HP (Apply Home Position) | ||
- | |||
- | *example*: | ||
- | If you want to apply home position, send command below. | ||
- | |||
- | ``` | ||
- | $hp | ||
- | ``` | ||
- | |||
- | |||
- | ## Group of Interpreter Command | ||
- | ### #PU (Push a Function) | ||
- | |||
- | |Args |Roles | ||
- | |: | ||
- | |SLOT |Set to read slot. |0 |89 |0 padding,hex,2byte| | ||
- | |LOOP_COUNT|Set number of play.|0 | ||
- | |||
- | *example*: | ||
- | If you want to push function that plays slot **10** **three** times, send command below. | ||
- | |||
- | ``` | ||
- | #pu0a03 | ||
- | ``` | ||
- | |||
- | ### #PO (Pop a Function) | ||
- | |||
- | *example*: | ||
- | If you want to pop a function, send command below. | ||
- | |||
- | ``` | ||
- | #po | ||
- | ``` | ||
- | |||
- | ### #RI (Reset the Interpreter) | ||
- | |||
- | *example*: | ||
- | If you want to reset the interpreter, | ||
- | |||
- | ``` | ||
- | #ri | ||
- | ``` | ||
- | |||
- | |||
- | ## Group of Setter Command | ||
- | ### >IN (Install a Motion) | ||
- | |||
- | **Attention!** | ||
- | This is **deprecated**. Obsolescent at firmware version 2.x. | ||
- | Please using **>MH** and **>MF** that are described after basically. | ||
- | |||
- | |Args |Roles | ||
- | |: | ||
- | |SLOT |Set to write slot. | ||
- | |NAME |Set a motion name. | ||
- | |FUNC |Set a function. (*1) | ||
- | |ARG0 |Set a function' | ||
- | |ARG1 |Set a function' | ||
- | |FRAME_LENGTH | ||
- | |TRANSITION_TIME_MS|Set a transition time (msec).|32 | ||
- | |VALUE[DEVICE_ID] | ||
- | |||
- | **(*1) Type of function and role of args are described below.** | ||
- | |||
- | |" | ||
- | |: | ||
- | |0 |--- | | ||
- | |1 |Play a motion with infinite loop between arg 0 and arg 1.| | ||
- | |2 |Jump to arg 0 if then stopped the motion. | ||
- | |||
- | **(*2) Sum of devices is 24 and all are servo motor.** | ||
- | |||
- | *example*: | ||
- | Let install a motion below. | ||
- | |||
- | |Args |Values| | ||
- | |: | ||
- | |SLOT |0 | | ||
- | |NAME |Test | | ||
- | |FUNC |0 | | ||
- | |ARG0 |0 | | ||
- | |ARG1 |0 | | ||
- | |FRAME_LENGTH | ||
- | |TRANSITION_TIME_MS|100 | ||
- | |OUTPUT[EVEN] | ||
- | |OUTPUT[ODD] | ||
- | |||
- | Please send command below. (There are no CR, LF, or CRLF actually.) | ||
- | |||
- | ``` | ||
- | >in | ||
- | 00Test | ||
- | 0064 | ||
- | 0000ffff0000ffff0000ffff0000ffff | ||
- | 0000ffff0000ffff0000ffff0000ffff | ||
- | 0000ffff0000ffff0000ffff0000ffff | ||
- | 0064 | ||
- | 0000ffff0000ffff0000ffff0000ffff | ||
- | 0000ffff0000ffff0000ffff0000ffff | ||
- | 0000ffff0000ffff0000ffff0000ffff | ||
- | ``` | ||
- | |||
- | ### >MH (Set a Motion Header) | ||
- | |||
- | |Args |Roles | ||
- | |: | ||
- | |SLOT |Set to write slot. |0 |89 |0 padding,hex,2byte | ||
- | |NAME |Set a motion name. |--- |--- |white space padding,20byte| | ||
- | |FUNC |Set a function. (*1) |0 |255 |0 padding,hex,2byte | ||
- | |ARG0 |Set a function' | ||
- | |ARG1 |Set a function' | ||
- | |FRAME_LENGTH|Set a frame length | ||
- | |||
- | Please get more detail at "> | ||
- | |||
- | ### >MF (Set a Motion Frame) | ||
- | |||
- | |Args |Roles | ||
- | |: | ||
- | |SLOT |Set to write slot. | ||
- | |FRAME_ID | ||
- | |TRANSITION_TIME_MS|Set a transition time (msec).|32 | ||
- | |VALUE[DEVICE_ID] | ||
- | |||
- | Please get more detail at "> | ||
- | |||
- | ### >JS (Reset the Joint Settings) | ||
- | |||
- | *example*: | ||
- | If you want to reset the joint settings, send command below. | ||
- | |||
- | ``` | ||
- | >js | ||
- | ``` | ||
- | |||
- | ### >HO (Set a Home Value) | ||
- | |||
- | |Args | ||
- | |: | ||
- | |DEVICE_ID|Set a device id. |0 |23 |0 padding,hex,2byte| | ||
- | |VALUE | ||
- | |||
- | *example*: | ||
- | If you want to apply **100** as home value to device **0**, send command below. | ||
- | |||
- | ``` | ||
- | >ho00064 | ||
- | ``` | ||
- | |||
- | ### >MA (Set a Max Value) | ||
- | |||
- | |Args | ||
- | |: | ||
- | |DEVICE_ID|Set a device id. | ||
- | |VALUE | ||
- | |||
- | *example*: | ||
- | If you want to apply **100** as max value to device **0**, send command below. | ||
- | |||
- | ``` | ||
- | >ma00064 | ||
- | ``` | ||
- | |||
- | ### >MI (Set a Min Value) | ||
- | |||
- | |Args | ||
- | |: | ||
- | |DEVICE_ID|Set a device id. | ||
- | |VALUE | ||
- | |||
- | *example*: | ||
- | If you want to apply **-1** as min value to device **10**, send command below. | ||
- | |||
- | ``` | ||
- | >mi0afff | ||
- | ``` | ||
- | |||
- | ## Group of Getter Command | ||
- | ### <JS (Dump the Joint Settings) | ||
- | |||
- | *example*: | ||
- | If you want to dump the joint settings, send command below. | ||
- | |||
- | ``` | ||
- | <js | ||
- | ``` | ||
- | |||
- | At that time, outputting result like json below. | ||
- | |||
- | ``` | ||
- | [ | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | ... | ||
- | ] | ||
- | ``` | ||
- | |||
- | ### <MO (Dump a Motion) | ||
- | |||
- | |Args|Roles | ||
- | |: | ||
- | |SLOT|Set to read slot.|0 | ||
- | |||
- | *example*: | ||
- | If you want to dump slot **0**, send command below. | ||
- | |||
- | ``` | ||
- | <mo00 | ||
- | ``` | ||
- | |||
- | At that time, outputting result like " | ||
- | However, property " | ||
- | |||
- | ### <VI (Dump the Version Information) | ||
- | |||
- | *example*: | ||
- | If you want to dump the version information, | ||
- | |||
- | ``` | ||
- | <vi | ||
- | ``` | ||
- | |||
- | At that time, outputting result like json below. | ||
- | |||
- | ``` | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | ``` | ||
- | </ |