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
-
... ... @@ -462,72 +462,110 @@ 462 462 463 463 == Modifiers == 464 464 465 -====== __Speed (**SD**) modifier__ ====== 465 +====== __Speed (**S**, **SD**) modifier__ ====== 466 466 467 -(% class="wikigeneratedid" id="HTimedmove28T29modifier" %) 468 -Example: #5D0SD180<cr> 467 +{{html clean="false" wiki="true"}} 468 +<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt"> 469 +Example: #5P1500S750<cr><div class="wikimodel-emptyline"></div> 470 +Modifier (S) is only for a position (P) action and determines the speed of the move in microseconds per second. A speed of 750 microseconds would cause the servo to rotate from its current position to the desired position at a speed of 750 microseconds per second. This command is in place to ensure backwards compatibility with the SSC-32 / 32U protocol.<div class="wikimodel-emptyline"></div> 471 +Example: #5D0SD180<cr><div class="wikimodel-emptyline"></div> 472 +Modifier (SD) is only for a position (D) or relative position (MD) action and determines the speed of the move in tenths of degrees per second. A speed modifier (SD) of 180 would cause the servo to rotate from its current position to the desired absolute or relative position at a speed of 18 degrees per second.<div class="wikimodel-emptyline"></div> 473 +Query Speed (**QS**)<div class="wikimodel-emptyline"></div> 474 +Example: #5QS<cr> might return *5QS300<cr><div class="wikimodel-emptyline"></div> 475 +This command queries the current speed in microseconds per second.<div class="wikimodel-emptyline"></div> 476 +</div></div> 477 +{{/html}} 469 469 470 -(% class="wikigeneratedid" %) 471 -Modifier (SD) is only for a position (D) or relative position (MD) action and determines the speed of the move in tenths of degrees per second. A speed modifier (SD) of 180 would cause the servo to rotate from its current position to the desired absolute or relative position at a speed of 18 degrees per second. 479 +====== __Timed move (**T**) modifier__ ====== 472 472 473 -(% class="wikigeneratedid" %) 474 -Query Speed (**QS**) 481 +{{html wiki="true" clean="false"}} 482 +<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt"> 483 +Example: #5P1500T2500<cr><div class="wikimodel-emptyline"></div> 475 475 476 -(% class="wikigeneratedid" %) 477 -Example: #5QS<cr> might return *5QS300<cr> 485 +Timed move can be used only as a modifier for a position (P, D, MD) actions. The units are in milliseconds, so a timed move of 2500 milliseconds would cause the servo to rotate from its current position to the desired position in 2.5 seconds. The onboard controller will attempt to ensure that the move is performed entirely at the desired velocity, though differences in torque may cause it to not be exact. This command is in place to ensure backwards compatibility with the SSC-32 / 32U protocol.<div class="wikimodel-emptyline"></div> 486 +**Note:** If the calculated speed at which a servo must rotate for a timed move is greater than its maximum speed (which depends on voltage and load), then it will move at its maximum speed, and the time of the move may be longer than requested.<div class="wikimodel-emptyline"></div> 487 +</div></div> 488 +{{/html}} 478 478 479 -(% class="wikigeneratedid" %) 480 -This command queries the current speed in microseconds per second. 490 +====== __Current Halt & Hold (**CH**) modifier__ ====== 481 481 482 -(% class="wikigeneratedid" %) 483 -====== __Timed move (**T**) modifier__ ====== 492 +{{html wiki="true" clean="false"}} 493 +<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt"> 494 +Example: #5D1423CH400<cr><div class="wikimodel-emptyline"></div> 484 484 485 -Example: #5D15000T2500<cr> 496 +This has servo with ID 5 move to 142.3 degrees but, should it detect a current of 400mA or higher before it reaches the desired position, will immediately halt and hold position.<div class="wikimodel-emptyline"></div> 497 +This modifier can be added to the following actions: D; MD; WD; WR.<div class="wikimodel-emptyline"></div> 498 +</div></div> 499 +{{/html}} 486 486 487 - Timedmove can beused only as a modifierfora position (D, MD) actions. Theunitsareinmilliseconds, so a timed move of 2500 milliseconds would cause the servo to rotate from its currentpositiontothe desired position in 2.5 seconds. The onboard controller will attempt toensure that the move is performedentirely at the desired velocity, though differencesin torquemay cause it to not be exact. This command is in place to ensurebackwards compatibility with the SSC-32 / 32U protocol.501 +====== __Current Limp (**CL**) modifier__ ====== 488 488 489 -**Note:** If the calculated speed at which a servo must rotate for a timed move is greater than its maximum speed (which depends on voltage and load), then it will move at its maximum speed, and the time of the move may be longer than requested 503 +{{html wiki="true" clean="false"}} 504 +<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt"> 505 +Example: #5D1423CL400<cr><div class="wikimodel-emptyline"></div> 490 490 491 -====== ====== 507 +This has servo with ID 5 move to 142.3 degrees but, should it detect a current of 400mA or higher before it reaches the desired position, will immediately go limp.<div class="wikimodel-emptyline"></div> 508 +This modifier can be added to the following actions: D; MD; WD; WR.<div class="wikimodel-emptyline"></div> 509 +</div></div> 510 +{{/html}} 492 492 493 493 == Telemetry == 494 494 495 495 ====== __Query Voltage (**QV**)__ ====== 496 496 497 -Ex: #5QV<cr> might return *5QV11200<cr> 516 +{{html wiki="true" clean="false"}} 517 +<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt"> 518 +Ex: #5QV<cr> might return *5QV11200<cr><div class="wikimodel-emptyline"></div> 519 +The number returned is in milliVolts, so in the case above, servo with ID 5 has an input voltage of 11.2V.<div class="wikimodel-emptyline"></div> 520 +</div></div> 521 +{{/html}} 498 498 499 -The number returned is in milliVolts, so in the case above, servo with ID 5 has an input voltage of 11.2V. 500 - 501 501 ====== __Query Temperature (**QT**)__ ====== 502 502 503 -Ex: #5QT<cr> might return *5QT564<cr> 525 +{{html wiki="true" clean="false"}} 526 +<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt"> 527 +Ex: #5QT<cr> might return *5QT564<cr><div class="wikimodel-emptyline"></div> 528 +The units are in tenths of degrees Celcius, so in the example above, the servo's internal temperature is 56.4 degrees C. To convert from degrees Celcius to degrees Farenheit, multiply by 1.8 and add 32. Therefore 56.4C = 133.52F.<div class="wikimodel-emptyline"></div> 529 +</div></div> 530 +{{/html}} 504 504 505 - Theunits arein tenths of degreesCelcius, so in the example above, the servo's internal temperature is 56.4 degrees C. To convertfrom degreesCelciusto degrees Farenheit, multiply by 1.8 and add 32. Therefore 56.4C=133.52F.532 +====== __Query Current (**QC**)__ ====== 506 506 507 -====== __Query Motor Driver Current (**QC**)__ ====== 534 +{{html wiki="true" clean="false"}} 535 +<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt"> 536 +Ex: #5QC<cr> might return *5QC140<cr><div class="wikimodel-emptyline"></div> 537 +The units are in milliamps, so in the example above, the servo is consuming 140mA, or 0.14A.<div class="wikimodel-emptyline"></div> 538 +</div></div> 539 +{{/html}} 508 508 509 -Ex: #5QC<cr> might return *5QC140<cr> 510 - 511 -The units are in milliamps, so in the example above, the servo is consuming 140mA, or 0.14A. It represents the RMS value. 512 - 513 513 ====== __Query Model String (**QMS**)__ ====== 514 514 515 -Ex: #5QMS<cr> might return *5QMSLSS-HS1<cr> 543 +{{html wiki="true" clean="false"}} 544 +<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt"> 545 +Ex: #5QMS<cr> might return *5QMSLSS-HS1<cr><div class="wikimodel-emptyline"></div> 546 +This reply means that the servo model is LSS-HS1: a high speed servo, first revision.<div class="wikimodel-emptyline"></div> 547 +</div></div> 548 +{{/html}} 516 516 517 -This reply means that the servo model is LSS-HS1: a high speed servo, first revision. 518 - 519 519 ====== __Query Firmware (**QF**)__ ====== 520 520 521 -Ex: #5QF<cr> might return *5QF368<cr> 552 +{{html wiki="true" clean="false"}} 553 +<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt"> 554 +Ex: #5QF<cr> might return *5QF368<cr><div class="wikimodel-emptyline"></div> 555 +The number in the reply represents the firmware version, in this example being 368.<div class="wikimodel-emptyline"></div> 556 +The command #5QF3<cr> can also be sent and the servo will reply with a 3 numbers firmware version, for example, 368.29.14<div class="wikimodel-emptyline"></div> 557 +</div></div> 558 +{{/html}} 522 522 523 -The number in the reply represents the firmware version, in this example being 368.The command #5QF3<cr> can also be sent and the servo will reply with a 3 numbers firmware version, for example, 368.29.14 524 - 525 525 ====== __Query Serial Number (**QN**)__ ====== 526 526 527 -Ex: #5QN<cr> might return *5QN12345678<cr> 562 +{{html wiki="true" clean="false"}} 563 +<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt"> 564 +Ex: #5QN<cr> might return *5QN12345678<cr><div class="wikimodel-emptyline"></div> 565 +The number in the response (12345678) would be the servo's serial number which is set and should not be changed by the user.<div class="wikimodel-emptyline"></div> 566 +</div></div> 567 +{{/html}} 528 528 529 -The number in the response (12345678) would be the servo's serial number which is set and should not be changed by the user. 530 - 531 531 == RGB LED == 532 532 533 533 ====== __LED Color (**LED**)__ ======