Last modified by Eric Nantel on 2024/11/21 09:43

From version < 15.1 >
edited by Coleman Benson
on 2018/04/13 11:04
To version < 19.1 >
edited by RB1
on 2018/05/04 08:11
< >
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -xwiki:XWiki.CBenson
1 +xwiki:XWiki.RB1
Tags
... ... @@ -1,0 +1,1 @@
1 +LSS|communication|protocol|programming|firmware|control
Content
... ... @@ -42,6 +42,28 @@
42 42  Modified commands are command specific.
43 43  )))
44 44  
45 +(((
46 +
47 +)))
48 +
49 +== Configuration Commands ==
50 +
51 +Configuration commands affect the servo's current session* but unlike action commands, configuration commands are written to EEPROM and are retained even if the servo loses power (therefore NOT session specific). Not all action commands have a corresponding configuration and vice versa. Certain configurations are retained for when the servo is used in RC model. More information can be found on the [[LSS - RC PWM page>>doc:Lynxmotion Smart Servos (LSS).LSS - RC PWM.WebHome]].
52 +
53 +1. Start with a number sign # (U+0023)
54 +1. Servo ID number as an integer
55 +1. Configuration command (two to three letters, no spaces, capital or lower case)
56 +1. Configuration value in the correct units with no decimal
57 +1. End with a control / carriage return '<cr>'
58 +
59 +Ex: #5CO-50<cr>
60 +
61 +Assigns an absolute origin offset of -5.0 degrees (with respect to factory origin) to servo #5 and changes the offset for that session to -5.0 degrees.
62 +
63 +Configuration commands are not cumulative, in that if two configurations are sent at any time, only the last configuration is used and stored.
64 +
65 +*Important Note: the one exception is the baud rate - the servo's current session retains the given baud rate. The new baud rate will only be in place when the servo is power cycled.
66 +
45 45  == Query Commands ==
46 46  
47 47  Query commands are sent serially to the servo's Rx pin and must be set in the following format:
... ... @@ -69,25 +69,21 @@
69 69  )))
70 70  
71 71  Indicates that servo #5 is currently at 144.3 degrees.
72 -)))
73 73  
74 -== Configuration Commands ==
95 +**Session vs Configuration Query**
75 75  
76 -Configuration commands affect the servo's current session* but unlike action commands, configuration commands are written to EEPROM and are retained even if the servo loses power (therefore NOT session specific). Not all action commands have a corresponding configuration and vice versa. Certain configurations are retained for when the servo is used in RC model. More information can be found on the [[LSS - RC PWM page>>doc:Lynxmotion Smart Servos (LSS).LSS - RC PWM.WebHome]].
97 +By default, the query command returns the sessions' value; should no action commands have been sent to change, it will return the value saved in EEPROM from the last configuration command.
77 77  
78 -1. Start with a number sign # (U+0023)
79 -1. Servo ID number as an integer
80 -1. Configuration command (two to three letters, no spaces, capital or lower case)
81 -1. Configuration value in the correct units with no decimal
82 -1. End with a control / carriage return '<cr>'
99 +In order to query the value in EEPROM, add a '1' to the query command.
83 83  
84 -Ex: #5CO-50<cr>
101 +Ex: #5CSR20<cr> sets the maximum speed for servo #5 to 20rpm upon RESET (explained below).
85 85  
86 -Assigns an absolute origin offset of -5.0 degrees (with respect to factory origin) to servo #5 and changes the offset for that session to -5.0 degrees.
103 +After RESET: #5SR4<cr> sets the session's speed to 4rpm.
87 87  
88 -Configuration commands are not cumulative, in that if two configurations are sent at any time, only the last configuration is used and stored.
105 +#5QSR<cr> would return *5QSR4<cr> which represents the value for that session.
89 89  
90 -*Important Note: the one exception is the baud rate - the servo's current session retains the given baud rate. The new baud rate will only be in place when the servo is power cycled.
107 +#5QSR1<cr> would return *5QSR20<cr> which represents the value in EEPROM
108 +)))
91 91  
92 92  = Command List =
93 93  
... ... @@ -343,7 +343,7 @@
343 343  
344 344  __17. Identification Number__
345 345  
346 -A servo's identification number cannot be set "on the fly" and must be configured via the CID command described below. The factory default ID number for all servos is 1. Since smart servos are intended to be daisy chained, in order to respond differently from one another, the user must set different identification numbers. Servos with the same ID and baud rate will all receive and react to the same commands.
364 +A servo's identification number cannot be set "on the fly" and must be configured via the CID command described below. The factory default ID number for all servos is 0. Since smart servos are intended to be daisy chained, in order to respond differently from one another, the user must set different identification numbers. Servos with the same ID and baud rate will all receive and react to the same commands.
347 347  
348 348  Query Identification (**QID**)
349 349  
... ... @@ -359,7 +359,8 @@
359 359  
360 360  __18. Baud Rate__
361 361  
362 -A servo's baud rate cannot be set "on the fly" and must be configured via the CB command described below. The factory default baud rate for all servos is 9600. Since smart servos are intended to be daisy chained, in order to respond to the same serial bus, all servos in that project should ideally be set to the same baud rate. Setting different baud rates will have the servos respond differently and may create issues. Standard / suggested baud rates are: 4800; 9600; 14400; 19200; 38400; 57600; 115200; 128000; 256000, 512000 bits per second. Servos are shipped with a baud rate set to 9600. The baud rates are currently restricted to those above
380 +A servo's baud rate cannot be set "on the fly" and must be configured via the CB command described below. The factory default baud rate for all servos is 9600. Since smart servos are intended to be daisy chained, in order to respond to the same serial bus, all servos in that project should ideally be set to the same baud rate. Setting different baud rates will have the servos respond differently and may create issues. Available baud rates are: 9.6 kbps, 19.2 kbps, 38.4 kbps, 57.6 kbps, 115.2 kbps, 230.4 kbps, 250.0 kbps, 460.8 kbps, 500.0 kbps, 750.0 kbps*, 921.6 kbps* bits per second. Servos are shipped with a baud rate set to 9600. The baud rates are currently restricted to those above.
381 +*: Current tests reveal baud rates above 500 kbps are unstable and can cause timeouts. Please keep that in mind if using those / testing them out.
363 363  
364 364  Query Baud Rate (**QB**)
365 365  
Copyright RobotShop 2018