Changes for page LSS Communication Protocol
Last modified by Eric Nantel on 2025/06/06 07:47
Change comment: There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -222,7 +222,7 @@ 222 222 223 223 {{html wiki="true" clean="false"}} 224 224 <div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt"> 225 -Ex: #5RESET <cr><div class="wikimodel-emptyline"></div>225 +Ex: #5RESET<cr><div class="wikimodel-emptyline"></div> 226 226 This command does a "soft reset" and reverts all commands to those stored in EEPROM (i.e. configuration commands). 227 227 Note: after a RESET command is received, the LSS will restart and perform initilization again, making it unavailable on the bus for a bit. See [[Session>>||anchor="HSession"]], note #2 for more details.<div class="wikimodel-emptyline"></div> 228 228 </div></div> ... ... @@ -232,11 +232,11 @@ 232 232 233 233 {{html wiki="true" clean="false"}} 234 234 <div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt"> 235 -Ex: #5DEFAULT <cr><div class="wikimodel-emptyline"></div>235 +Ex: #5DEFAULT<cr><div class="wikimodel-emptyline"></div> 236 236 237 237 This command sets in motion the reset of all values to the default values included with the version of the firmware installed on that servo. The servo then waits for the CONFIRM command. Any other command received will cause the servo to exit the DEFAULT function.<div class="wikimodel-emptyline"></div> 238 238 239 -EX: #5DEFAULT <cr>followed by #5CONFIRM<cr><div class="wikimodel-emptyline"></div>239 +EX: #5DEFAULT<cr> followed by #5CONFIRM<cr><div class="wikimodel-emptyline"></div> 240 240 241 241 Since it it not common to have to restore all configurations, a confirmation command is needed after a firmware command is sent. Should any command other than CONFIRM be received by the servo after the firmware command has been received, it will exit the command.<div class="wikimodel-emptyline"></div> 242 242 ... ... @@ -248,11 +248,11 @@ 248 248 249 249 {{html wiki="true" clean="false"}} 250 250 <div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt"> 251 -Ex: #5UPDATE <cr><div class="wikimodel-emptyline"></div>251 +Ex: #5UPDATE<cr><div class="wikimodel-emptyline"></div> 252 252 253 253 This command sets in motion the equivalent of a long button press when the servo is not powered in order to enter firmware update mode. This is useful should the button be broken or inaccessible. The servo then waits for the CONFIRM command. Any other command received will cause the servo to exit the UPDATE function.<div class="wikimodel-emptyline"></div> 254 254 255 -EX: #5UPDATE <cr>followed by #5CONFIRM<cr><div class="wikimodel-emptyline"></div>255 +EX: #5UPDATE<cr> followed by #5CONFIRM<cr><div class="wikimodel-emptyline"></div> 256 256 257 257 Since it it not common to have to update firmware, a confirmation command is needed after an UPDATE command is sent. Should any command other than CONFIRM be received by the servo after the firmware command has been received, it will leave the firmware action.<div class="wikimodel-emptyline"></div> 258 258 ... ... @@ -260,18 +260,6 @@ 260 260 </div></div> 261 261 {{/html}} 262 262 263 -====== __Confirm__ ====== 264 - 265 -{{html wiki="true" clean="false"}} 266 -<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt"> 267 -Ex: #5CONFIRM<cr><div class="wikimodel-emptyline"></div> 268 - 269 -This command is used to confirm changes after a Default or Update command.<div class="wikimodel-emptyline"></div> 270 - 271 -**Note:** After the CONFIRM command is sent, the servo will automatically perform a RESET.<div class="wikimodel-emptyline"></div> 272 -</div></div> 273 -{{/html}} 274 - 275 275 ====== __Configure RC Mode (**CRC**)__ ====== 276 276 277 277 {{html wiki="true" clean="false"}} ... ... @@ -279,13 +279,13 @@ 279 279 This command puts the servo into RC mode (position or continuous), where it will only respond to RC PWM signal on the servo's Rx pin. In this mode, the servo will no longer accept serial commands. The servo can be placed back into smart mode by using the button menu.<div class="wikimodel-emptyline"></div> 280 280 281 281 |**Command sent**|**Note** 282 -|ex: #5CRC1 <cr>|Change to RC position mode.283 -|ex: #5CRC2 <cr>|Change to RC continuous rotation (wheel) mode.284 -|ex: #5CRC* <cr>|Where * is any value other than 1 or 2 (or no value): stay in smart mode.<div class="wikimodel-emptyline"></div>270 +|ex: #5CRC1<cr>|Change to RC position mode. 271 +|ex: #5CRC2<cr>|Change to RC continuous rotation (wheel) mode. 272 +|ex: #5CRC*<cr>|Where * is any value other than 1 or 2 (or no value): stay in smart mode.<div class="wikimodel-emptyline"></div> 285 285 286 -EX: #5CRC2 <cr><div class="wikimodel-emptyline"></div>274 +EX: #5CRC2<cr><div class="wikimodel-emptyline"></div> 287 287 288 -This command would place the servo in RC wheel mode after a RESET or power cycle. Note that after a RESET or power cycle, the servo will be in RC mode and will not reply to serial commands. Using the command #5CRC <cr>or #5CRC3<cr>which requests that the servo remain in serial mode still requires a RESET command.<div class="wikimodel-emptyline"></div>276 +This command would place the servo in RC wheel mode after a RESET or power cycle. Note that after a RESET or power cycle, the servo will be in RC mode and will not reply to serial commands. Using the command #5CRC<cr> or #5CRC3<cr> which requests that the servo remain in serial mode still requires a RESET command.<div class="wikimodel-emptyline"></div> 289 289 290 290 **Important note: **To revert from RC mode back to serial mode, the [[LSS - Button Menu>>doc:lynxmotion-smart-servo.lss-button-menu.WebHome]] is required. Should the button be inaccessible (or broken) when the servo is in RC mode and the user needs to change to serial mode, a 5V constant HIGH needs to be sent to the servo's Rx pin (RC PWM pin), **ensuring a common GND** and wait for 30 seconds. Normal RC PWM pulses should not exceed 2500 milliseconds. After 30 seconds, the servo will interpret this as a desired mode change and change to serial mode. This has been implemented as a fail safe.<div class="wikimodel-emptyline"></div> 291 291 </div></div> ... ... @@ -299,13 +299,13 @@ 299 299 300 300 Query Identification (**QID**)<div class="wikimodel-emptyline"></div> 301 301 302 -EX: #254QID <cr>might return *QID5<cr><div class="wikimodel-emptyline"></div>290 +EX: #254QID<cr> might return *QID5<cr><div class="wikimodel-emptyline"></div> 303 303 304 304 When using the broadcast query ID command, it is best to only have one servo connected and thus receive only one reply. This is useful when you are not sure of the servo's ID, but don't want to change it. Using the broadcast command (ID 254) with only one servo will have that servo reply with its ID number. Alternatively, pushing the button upon startup and temporarily setting the servo ID to 255 will still result in the servo responding with its "real" ID.<div class="wikimodel-emptyline"></div> 305 305 306 306 Configure ID (**CID**)<div class="wikimodel-emptyline"></div> 307 307 308 -Ex: #4CID5 <cr><div class="wikimodel-emptyline"></div>296 +Ex: #4CID5<cr><div class="wikimodel-emptyline"></div> 309 309 310 310 Setting a servo's ID in EEPROM is done via the CID command. All servos connected to the same serial bus that have will be assigned that ID. In most situations each servo must be set a unique ID, which means each servo must be connected individually to the serial bus and receive a unique CID number. It is best to do this before the servos are added to an assembly. Numbered stickers are provided to distinguish each servo after their ID is set, though you are free to use whatever alternative method you like. The servo must be RESET or power cycled in order for the new ID to take effect.<div class="wikimodel-emptyline"></div> 311 311 </div></div> ... ... @@ -319,7 +319,7 @@ 319 319 320 320 Query Baud Rate (**QB**)<div class="wikimodel-emptyline"></div> 321 321 322 -Ex: #5QB <cr>might return *5QB115200<cr><div class="wikimodel-emptyline"></div>310 +Ex: #5QB<cr> might return *5QB115200<cr><div class="wikimodel-emptyline"></div> 323 323 324 324 Since the command to query the baud rate must be done at the servo's existing baud rate, it can simply be used to confirm the CB configuration command was correctly received before the servo is power cycled and the new baud rate takes effect.<div class="wikimodel-emptyline"></div> 325 325 ... ... @@ -327,7 +327,7 @@ 327 327 328 328 **Important Note:** the servo's current session retains the given baud rate and the new baud rate will only take effect when the servo is power cycled / RESET.<div class="wikimodel-emptyline"></div> 329 329 330 -Ex: #5CB9600 <cr><div class="wikimodel-emptyline"></div>318 +Ex: #5CB9600<cr><div class="wikimodel-emptyline"></div> 331 331 332 332 Sending this command will change the baud rate associated with servo ID 5 to 9600 bits per second.<div class="wikimodel-emptyline"></div> 333 333 </div></div> ... ... @@ -753,26 +753,12 @@ 753 753 754 754 Configure First Position in Degrees (**CFD**)<div class="wikimodel-emptyline"></div> 755 755 756 -Ex: #5C FD900<cr><div class="wikimodel-emptyline"></div>744 +Ex: #5CD900<cr><div class="wikimodel-emptyline"></div> 757 757 758 758 This configuration command means the servo, when set to smart mode, will immediately move to 90.0 degrees upon power up. Sending a CFD command without a number (Ex. #5CFD<cr>) results in the servo remaining limp upon power up. In order to remove the first position, send no value, ex: #5CFD<cr> 759 759 <div class="wikimodel-emptyline"></div></div></div> 760 760 {{/html}} 761 761 762 -====== __Maximum Motor Duty (**MMD**)__ ====== 763 - 764 -{{html wiki="true" clean="false"}} 765 -<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt"> 766 -This command allows the user to limit the duty cycle value sent from the servo's MCU to the DC Motor driver. The duty cycle limit value can be within the range of 255 to 1023. The default value is 1023. A typical use-case for this command is active compliance.<div class="wikimodel-emptyline"></div> 767 - 768 -Query Maximum Motor Duty (**QMMD**)<div class="wikimodel-emptyline"></div> 769 - 770 -Ex: #5QMMDD<cr> might return *5QMMD512<cr> <div class="wikimodel-emptyline"></div> 771 - 772 -The reply above indicates that servo with ID 5 motor duty is limited to 512.<div class="wikimodel-emptyline"></div> 773 -<div class="wikimodel-emptyline"></div></div></div> 774 -{{/html}} 775 - 776 776 ====== __Maximum Speed in Degrees (**SD**)__ ====== 777 777 778 778 {{html wiki="true" clean="false"}}