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 (5 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -LSS-P ROCommunication Protocol1 +LSS-P - Communication Protocol - Parent
-
... ... @@ -1,1 +1,1 @@ 1 -s es-pro.lss-pro.WebHome1 +lynxmotion-smart-servo-pro.WebHome - Author
-
... ... @@ -1,1 +1,1 @@ 1 -xwiki:XWiki. ENantel1 +xwiki:XWiki.CBenson - Hidden
-
... ... @@ -1,1 +1,1 @@ 1 - false1 +true - Content
-
... ... @@ -1,3 +1,7 @@ 1 +{{warningBox warningText="More information coming soon"/}} 2 + 3 + 4 + 1 1 (% class="wikigeneratedid" id="HTableofContents" %) 2 2 **Page Contents** 3 3 ... ... @@ -231,11 +231,9 @@ 231 231 ))) 232 232 233 233 |(% colspan="2" %)((( 234 -====== (% style="color:inherit; font-family:inherit" %)__ID Number__(%%) ====== 238 +====== (% style="color:inherit; font-family:inherit" %)__ID Number (**ID**)__(%%) ====== 235 235 ))) 236 236 |(% style="width:30px" %) |((( 237 -This assigns ID #5 to the servo previously assigned to ID 0 238 - 239 239 (% style="color:inherit; font-family:inherit" %)Configure ID Number (**CID**) 240 240 241 241 (% style="color:inherit; font-family:inherit" %)Ex: #0CID5<cr> ... ... @@ -250,7 +250,7 @@ 250 250 ))) 251 251 252 252 |(% colspan="2" %)((( 253 -====== (% style="color:inherit; font-family:inherit" %)__Enable CAN Terminal Resistor__(%%) ====== 255 +====== (% style="color:inherit; font-family:inherit" %)__Enable CAN Terminal Resistor (**ET**)__(%%) ====== 254 254 ))) 255 255 |(% style="width:30px" %) |((( 256 256 Query Enable CAN Terminal Resistor (**QET**) ... ... @@ -267,7 +267,7 @@ 267 267 ))) 268 268 269 269 |(% colspan="2" %)((( 270 -====== __USB Connection Status__ ====== 272 +====== __USB Connection Status (**UC**)__ ====== 271 271 ))) 272 272 |(% style="width:30px" %) |((( 273 273 Query USB Connection Status (**QUC**) ... ... @@ -276,7 +276,7 @@ 276 276 ))) 277 277 278 278 |(% colspan="2" %)((( 279 -====== __Firmware Release__ ====== 281 +====== __Firmware Release (**FR**)__ ====== 280 280 ))) 281 281 |(% style="width:30px" %) |((( 282 282 Query Firmware Release (**QFR**) ... ... @@ -288,11 +288,7 @@ 288 288 289 289 == Motion == 290 290 291 -|(% colspan="2" %)((( 292 -====== __Position in Degrees__ ====== 293 -))) 294 -|(% style="width:30px" %) |((( 295 -Position in Degrees (**D**) 293 +====== __Position in Degrees (**D**)__ ====== 296 296 297 297 Example: #5D1456<cr> 298 298 ... ... @@ -311,24 +311,15 @@ 311 311 Ex: #5QDT<cr> might return *5QDT6783<cr> 312 312 313 313 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. 314 -))) 315 315 316 -|(% colspan="2" %)((( 317 -====== __(Relative) Move in Degrees__ ====== 318 -))) 319 -|(% style="width:30px" %) |((( 320 -Move in Degrees (**MD**) 313 +====== __(Relative) Move in Degrees (**MD**)__ ====== 321 321 315 + 322 322 Example: #5MD123<cr> 323 323 324 324 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. 325 -))) 326 326 327 -|(% colspan="2" %)((( 328 -====== __Wheel Mode in Degrees__ ====== 329 -))) 330 -|(% style="width:30px" %) |((( 331 -Wheel mode in Degrees (**WD**) 320 +====== __Wheel Mode in Degrees (**WD**)__ ====== 332 332 333 333 Ex: #5WD90<cr> 334 334 ... ... @@ -339,13 +339,8 @@ 339 339 Ex: #5QWD<cr> might return *5QWD90<cr> 340 340 341 341 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). 342 -))) 343 343 344 -|(% colspan="2" %)((( 345 -====== __Wheel Mode in RPM__ ====== 346 -))) 347 -|(% style="width:30px" %) |((( 348 -Wheel moed in RPM (**WR**) 332 +====== __Wheel Mode in RPM (**WR**)__ ====== 349 349 350 350 Ex: #5WR40<cr> 351 351 ... ... @@ -356,14 +356,8 @@ 356 356 Ex: #5QWR<cr> might return *5QWR40<cr> 357 357 358 358 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). 359 -))) 360 360 361 -|(% colspan="2" %)((( 362 -====== __(Relative) Move in Degrees__ ====== 363 -))) 364 -|(% style="width:30px" %) |((( 365 -(% class="wikigeneratedid" %) 366 -Move in Degrees (**MD**) 344 +====== __(Relative) Move in Degrees (**MD**)__ ====== 367 367 368 368 (% class="wikigeneratedid" id="HExample:235M15003Ccr3E" %) 369 369 Example: #5M1500<cr> ... ... @@ -370,13 +370,8 @@ 370 370 371 371 (% class="wikigeneratedid" id="HTherelativemoveinPWMcommandcausestheservotoreaditscurrentpositionandmovebythespecifiednumberofPWMsignal.ForexampleiftheservoissettorotateCW28default29andanMcommandof1500issenttotheservo2Citwillcausetheservotorotateclockwiseby90degrees.NegativePWMvaluewouldcausetheservotorotateintheoppositeconfigureddirection." %) 372 372 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. 373 -))) 374 374 375 -|(% colspan="2" %)((( 376 -====== __Query Status__ ====== 377 -))) 378 -|(% style="width:30px" %) |((( 379 -Query Status (**Q**) 352 +====== __Query Status (**Q**)__ ====== 380 380 381 381 The status query describes what the servo is currently doing. The query returns an integer which must be looked up in the table below. 382 382 ... ... @@ -389,7 +389,7 @@ 389 389 | |ex: *5Q3<cr>|3: Accelerating|Increasing speed from rest (or previous speed) towards travel speed 390 390 | |ex: *5Q4<cr>|4: Traveling|Moving at a stable speed 391 391 | |ex: *5Q5<cr>|5: Decelerating|Decreasing from travel speed towards final position. 392 -| |ex: *5Q6<cr>|6: Holding|Keeping current position (in EM0 mode, return will nor mally be holding)365 +| |ex: *5Q6<cr>|6: Holding|Keeping current position (in EM0 mode, return will nornally be holding) 393 393 | |ex: *5Q7<cr>|7: Outside limits|{More details coming soon} 394 394 | |ex: *5Q8<cr>|8: Stuck|Motor cannot perform request movement at current speed setting 395 395 | |ex: *5Q9<cr>|9: Blocked|Similar to stuck, but the motor is at maximum duty and still cannot move (i.e.: stalled) ... ... @@ -406,29 +406,18 @@ 406 406 | |ex: *5Q1<cr>|Current limit has been passed|Something cause the current to either spike, or remain too high for too long 407 407 | |ex: *5Q2<cr>|Input voltage detected is below or above acceptable range|Check the voltage of your batteries or power source 408 408 | |ex: *5Q3<cr>|Temperature limit has been reached|The servo is too hot to continue operating safely. 409 -))) 410 410 411 -|(% colspan="2" %)((( 412 -====== __Limp__ ====== 413 -))) 414 -|(% style="width:30px" %) |((( 415 -Limp (**L**) 383 +====== __Limp (**L**)__ ====== 416 416 417 417 Example: #5L<cr> 418 418 419 419 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>. 420 -))) 421 421 422 -|(% colspan="2" %)((( 423 -====== __Halt & Hold__ ====== 424 -))) 425 -|(% style="width:30px" %) |((( 426 -Halt & Hold (**H**) 389 +====== __Halt & Hold (**H**)__ ====== 427 427 428 428 Example: #5H<cr> 429 429 430 430 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.) 431 -))) 432 432 433 433 == Motion Setup == 434 434