Changes for page LSS-PRO Communication Protocol
Last modified by Eric Nantel on 2024/09/06 14:52
Change comment: There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -197,7 +197,7 @@ 197 197 |(% colspan="2" %)((( 198 198 ====== (% style="color:inherit; font-family:inherit" %)__Default & confirm__(%%) ====== 199 199 ))) 200 -| (%style="width:30px" %)|(((200 +| |((( 201 201 (% style="color:inherit; font-family:inherit" %)Ex: #5DEFAULT<cr> 202 202 203 203 (% style="color:inherit; font-family:inherit" %)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. ... ... @@ -212,7 +212,7 @@ 212 212 |(% colspan="2" %)((( 213 213 ====== (% style="color:inherit; font-family:inherit" %)__Update & confirm__(%%) ====== 214 214 ))) 215 -| (%style="width:30px" %)|(((215 +| |((( 216 216 (% style="color:inherit; font-family:inherit" %)Ex: #5UPDATE<cr> 217 217 218 218 (% style="color:inherit; font-family:inherit" %)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. ... ... @@ -224,9 +224,7 @@ 224 224 (% style="color:inherit; font-family:inherit" %)Note: After the CONFIRM command is sent, the servo will automatically perform a RESET. 225 225 ))) 226 226 227 -|(% colspan="2" %)((( 228 -====== (% style="color:inherit; font-family:inherit" %)__Confirm__(%%) ====== 229 -))) 227 +|(% colspan="2" %)(% style="color:inherit; font-family:inherit" %)__Confirm__ 230 230 |(% style="width:30px" %) |((( 231 231 (% style="color:inherit; font-family:inherit" %)Ex: #5CONFIRM<cr> 232 232 ... ... @@ -234,12 +234,8 @@ 234 234 Note: After the CONFIRM command is sent, the servo will automatically perform a RESET. 235 235 ))) 236 236 237 -|(% colspan="2" %)((( 238 -====== (% style="color:inherit; font-family:inherit" %)__ID Number__(%%) ====== 239 -))) 235 +|(% colspan="2" %)(% style="color:inherit; font-family:inherit" %)__ID Number (**ID**)__ 240 240 |(% style="width:30px" %) |((( 241 -This assigns ID #5 to the servo previously assigned to ID 0 242 - 243 243 (% style="color:inherit; font-family:inherit" %)Configure ID Number (**CID**) 244 244 245 245 (% style="color:inherit; font-family:inherit" %)Ex: #0CID5<cr> ... ... @@ -253,9 +253,7 @@ 253 253 In this case, the broadcast ID is used to ensure the servo connected will reply with the ID. This can be used in case the ID assigned to a servo is forgotten. 254 254 ))) 255 255 256 -|(% colspan="2" %)((( 257 -====== (% style="color:inherit; font-family:inherit" %)__Enable CAN Terminal Resistor__(%%) ====== 258 -))) 250 +|(% colspan="2" %)(% style="color:inherit; font-family:inherit" %)__Enable CAN Terminal Resistor (**ET**)__ 259 259 |(% style="width:30px" %) |((( 260 260 Query Enable CAN Terminal Resistor (**QET**) 261 261 ... ... @@ -270,9 +270,7 @@ 270 270 (% style="color:inherit; font-family:inherit" %)This commands sets servo with ID 5 as being the last in the CAN Bus. The last servo in a CAN bus must be configured this way. 271 271 ))) 272 272 273 -|(% colspan="2" %)((( 274 -====== __USB Connection Status__ ====== 275 -))) 265 +|(% colspan="2" %)__USB Connection Status (**UC**)__ 276 276 |(% style="width:30px" %) |((( 277 277 Query USB Connection Status (**QUC**) 278 278 ... ... @@ -279,9 +279,7 @@ 279 279 Ex: #5QUC<cr> might return *5QUC1<cr> meaning the servo is connected via USB 280 280 ))) 281 281 282 -|(% colspan="2" %)((( 283 -====== __Firmware Release__ ====== 284 -))) 272 +|(% colspan="2" %)__Firmware Release (**FR**)__ 285 285 |(% style="width:30px" %) |((( 286 286 Query Firmware Release (**QFR**) 287 287 ... ... @@ -290,13 +290,22 @@ 290 290 This is used to verify if the firmware on the servos is up to date, or which version is running on the microcontroller. 291 291 ))) 292 292 281 +====== ====== 282 + 283 + 284 +====== ====== 285 + 286 + 287 +====== ====== 288 + 289 + 290 +====== ====== 291 + 292 + 293 + 293 293 == Motion == 294 294 295 -|(% colspan="2" %)((( 296 -====== __Position in Degrees__ ====== 297 -))) 298 -|(% style="width:30px" %) |((( 299 -Position in Degrees (**D**) 296 +====== __Position in Degrees (**D**)__ ====== 300 300 301 301 Example: #5D1456<cr> 302 302 ... ... @@ -315,24 +315,15 @@ 315 315 Ex: #5QDT<cr> might return *5QDT6783<cr> 316 316 317 317 The query target position command returns the target virtual position during and after an action which results in a rotation of the servo horn. In the example above, the servo is rotating to a virtual position of 678.3 degrees. Should the servo not have a target position or be in wheel mode, it will respond with the last target position used. 318 -))) 319 319 320 -|(% colspan="2" %)((( 321 -====== __(Relative) Move in Degrees__ ====== 322 -))) 323 -|(% style="width:30px" %) |((( 324 -Move in Degrees (**MD**) 316 +====== __(Relative) Move in Degrees (**MD**)__ ====== 325 325 318 + 326 326 Example: #5MD123<cr> 327 327 328 328 The relative move command causes the servo to read its current position and move the specified number of tenths of degrees in the corresponding position. For example if the servo is set to rotate CW (default) and an MD command of 123 is sent to the servo, it will cause the servo to rotate clockwise by 12.3 degrees. Negative commands would cause the servo to rotate in the opposite configured direction. 329 -))) 330 330 331 -|(% colspan="2" %)((( 332 -====== __Wheel Mode in Degrees__ ====== 333 -))) 334 -|(% style="width:30px" %) |((( 335 -Wheel mode in Degrees (**WD**) 323 +====== __Wheel Mode in Degrees (**WD**)__ ====== 336 336 337 337 Ex: #5WD90<cr> 338 338 ... ... @@ -343,13 +343,8 @@ 343 343 Ex: #5QWD<cr> might return *5QWD90<cr> 344 344 345 345 The servo replies with the angular speed in degrees per second. A negative sign would indicate the opposite direction (for factory default a negative value would be counter clockwise). 346 -))) 347 347 348 -|(% colspan="2" %)((( 349 -====== __Wheel Mode in RPM__ ====== 350 -))) 351 -|(% style="width:30px" %) |((( 352 -Wheel moed in RPM (**WR**) 335 +====== __Wheel Mode in RPM (**WR**)__ ====== 353 353 354 354 Ex: #5WR40<cr> 355 355 ... ... @@ -360,14 +360,8 @@ 360 360 Ex: #5QWR<cr> might return *5QWR40<cr> 361 361 362 362 The servo replies with the angular speed in rpm. A negative sign would indicate the opposite direction (for factory default a negative value would be counter clockwise). 363 -))) 364 364 365 -|(% colspan="2" %)((( 366 -====== __(Relative) Move in Degrees__ ====== 367 -))) 368 -|(% style="width:30px" %) |((( 369 -(% class="wikigeneratedid" %) 370 -Move in Degrees (**MD**) 347 +====== __(Relative) Move in Degrees (**MD**)__ ====== 371 371 372 372 (% class="wikigeneratedid" id="HExample:235M15003Ccr3E" %) 373 373 Example: #5M1500<cr> ... ... @@ -374,13 +374,8 @@ 374 374 375 375 (% class="wikigeneratedid" id="HTherelativemoveinPWMcommandcausestheservotoreaditscurrentpositionandmovebythespecifiednumberofPWMsignal.ForexampleiftheservoissettorotateCW28default29andanMcommandof1500issenttotheservo2Citwillcausetheservotorotateclockwiseby90degrees.NegativePWMvaluewouldcausetheservotorotateintheoppositeconfigureddirection." %) 376 376 The relative move in PWM command causes the servo to read its current position and move by the specified number of PWM signal. For example if the servo is set to rotate CW (default) and an M command of 1500 is sent to the servo, it will cause the servo to rotate clockwise by 90 degrees. Negative PWM value would cause the servo to rotate in the opposite configured direction. 377 -))) 378 378 379 -|(% colspan="2" %)((( 380 -====== __Query Status__ ====== 381 -))) 382 -|(% style="width:30px" %) |((( 383 -Query Status (**Q**) 355 +====== __Query Status (**Q**)__ ====== 384 384 385 385 The status query describes what the servo is currently doing. The query returns an integer which must be looked up in the table below. 386 386 ... ... @@ -410,29 +410,18 @@ 410 410 | |ex: *5Q1<cr>|Current limit has been passed|Something cause the current to either spike, or remain too high for too long 411 411 | |ex: *5Q2<cr>|Input voltage detected is below or above acceptable range|Check the voltage of your batteries or power source 412 412 | |ex: *5Q3<cr>|Temperature limit has been reached|The servo is too hot to continue operating safely. 413 -))) 414 414 415 -|(% colspan="2" %)((( 416 -====== __Limp__ ====== 417 -))) 418 -|(% style="width:30px" %) |((( 419 -Limp (**L**) 386 +====== __Limp (**L**)__ ====== 420 420 421 421 Example: #5L<cr> 422 422 423 423 This action causes the servo to go "limp". The microcontroller will still be powered, but the motor will not. As an emergency safety feature, should the robot not be doing what it is supposed to or risks damage, use the broadcast ID to set all servos limp #254L<cr>. 424 -))) 425 425 426 -|(% colspan="2" %)((( 427 -====== __Halt & Hold__ ====== 428 -))) 429 -|(% style="width:30px" %) |((( 430 -Halt & Hold (**H**) 392 +====== __Halt & Hold (**H**)__ ====== 431 431 432 432 Example: #5H<cr> 433 433 434 434 This command causes the servo to stop immediately and hold that angular position. It overrides whatever the servo might be doing at the time the command is received (accelerating, travelling, deccelerating, etc.) 435 -))) 436 436 437 437 == Motion Setup == 438 438