Last modified by Eric Nantel on 2024/09/06 14:52

From version < 29.1 >
edited by Coleman Benson
on 2023/07/25 15:16
To version < 33.1 >
edited by Coleman Benson
on 2023/07/25 15:26
< >
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -462,156 +462,72 @@
462 462  
463 463  == Modifiers ==
464 464  
465 -====== __Speed (**S**, **SD**) modifier__ ======
465 +====== __Speed (**SD**) modifier__ ======
466 466  
467 -{{html clean="false" wiki="true"}}
468 -<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt">
469 -Example: #5P1500S750&lt;cr&gt;<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&lt;cr&gt;<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&lt;cr&gt; might return *5QS300&lt;cr&gt;<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}}
467 +(% class="wikigeneratedid" id="HTimedmove28T29modifier" %)
468 +Example: #5D0SD180<cr>
478 478  
479 -====== __Timed move (**T**) modifier__ ======
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.
480 480  
481 -{{html wiki="true" clean="false"}}
482 -<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt">
483 -Example: #5P1500T2500&lt;cr&gt;<div class="wikimodel-emptyline"></div>
473 +(% class="wikigeneratedid" %)
474 +Query Speed (**QS**)
484 484  
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}}
476 +(% class="wikigeneratedid" %)
477 +Example: #5QS<cr> might return *5QS300<cr>
489 489  
490 -====== __Current Halt & Hold (**CH**) modifier__ ======
479 +(% class="wikigeneratedid" %)
480 +This command queries the current speed in microseconds per second.
491 491  
492 -{{html wiki="true" clean="false"}}
493 -<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt">
494 -Example: #5D1423CH400&lt;cr&gt;<div class="wikimodel-emptyline"></div>
482 +(% class="wikigeneratedid" %)
483 +====== __Timed move (**T**) modifier__ ======
495 495  
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}}
485 +Example: #5D15000T2500<cr>
500 500  
501 -====== __Current Limp (**CL**) modifier__ ======
487 +Timed move can be used only as a modifier for a position (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.
502 502  
503 -{{html wiki="true" clean="false"}}
504 -<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt">
505 -Example: #5D1423CL400&lt;cr&gt;<div class="wikimodel-emptyline"></div>
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
506 506  
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}}
491 +====== ======
511 511  
512 512  == Telemetry ==
513 513  
514 514  ====== __Query Voltage (**QV**)__ ======
515 515  
516 -{{html wiki="true" clean="false"}}
517 -<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt">
518 -Ex: #5QV&lt;cr&gt; might return *5QV11200&lt;cr&gt;<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}}
497 +Ex: #5QV<cr> might return *5QV11200<cr>
522 522  
499 +The number returned is in milliVolts, so in the case above, servo with ID 5 has an input voltage of 11.2V.
500 +
523 523  ====== __Query Temperature (**QT**)__ ======
524 524  
525 -{{html wiki="true" clean="false"}}
526 -<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt">
527 -Ex: #5QT&lt;cr&gt; might return *5QT564&lt;cr&gt;<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}}
503 +Ex: #5QT<cr> might return *5QT564<cr>
531 531  
532 -====== __Query Current (**QC**)__ ======
505 +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.
533 533  
534 -{{html wiki="true" clean="false"}}
535 -<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt">
536 -Ex: #5QC&lt;cr&gt; might return *5QC140&lt;cr&gt;<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}}
507 +====== __Query Motor Driver Current (**QC**)__ ======
540 540  
541 -====== __Query Model String (**QMS**)__ ======
509 +Ex: #5QC<cr> might return *5QC140<cr>
542 542  
543 -{{html wiki="true" clean="false"}}
544 -<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt">
545 -Ex: #5QMS&lt;cr&gt; might return *5QMSLSS-HS1&lt;cr&gt;<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}}
511 +The units are in milliamps, so in the example above, the servo is consuming 140mA, or 0.14A. It represents the RMS value.
549 549  
550 -====== __Query Firmware (**QF**)__ ======
513 +====== __Query Model String (**QMS**)__ ======
551 551  
552 -{{html wiki="true" clean="false"}}
553 -<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt">
554 -Ex: #5QF&lt;cr&gt; might return *5QF368&lt;cr&gt;<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&lt;cr&gt; 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}}
515 +Ex: #5QMS<cr> might return *5QMSLSS-HS1<cr>
559 559  
560 -====== __Query Serial Number (**QN**)__ ======
517 +This reply means that the servo model is LSS-HS1: a high speed servo, first revision.
561 561  
562 -{{html wiki="true" clean="false"}}
563 -<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt">
564 -Ex: #5QN&lt;cr&gt; might return *5QN12345678&lt;cr&gt;<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}}
519 +====== __Query Firmware (**QF**)__ ======
568 568  
569 -== RGB LED ==
521 +Ex: #5QF<cr> might return *5QF368<cr>
570 570  
571 -====== __LED Color (**LED**)__ ======
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
572 572  
573 -{{html wiki="true" clean="false"}}
574 -<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt">
575 -Ex: #5LED3&lt;cr&gt;<div class="wikimodel-emptyline"></div>
576 -This action sets the servo's RGB LED color for that session.The LED can be used for aesthetics, or (based on user code) to provide visual status updates. Using timing can create patterns.<div class="wikimodel-emptyline"></div>
577 -0=Off (black); 1=Red 2=Green; 3=Blue; 4=Yellow; 5=Cyan; 6=Magenta; 7=White;<div class="wikimodel-emptyline"></div>
578 -Query LED Color (**QLED**)<div class="wikimodel-emptyline"></div>
579 -Ex: #5QLED&lt;cr&gt; might return *5QLED5&lt;cr&gt;<div class="wikimodel-emptyline"></div>
580 -This simple query returns the indicated servo's LED color.<div class="wikimodel-emptyline"></div>
581 -Configure LED Color (**CLED**)<div class="wikimodel-emptyline"></div>
582 -Ex: #5CLED3&lt;cr&gt;<div class="wikimodel-emptyline"></div>
583 -Configuring the LED color via the CLED command sets the startup color of the servo after a reset or power cycle. Note that it also changes the session's LED color immediately as well. The command above will configure the servo's LED to a Blue color.<div class="wikimodel-emptyline"></div>
584 -</div></div>
585 -{{/html}}
525 +====== __Query Serial Number (**QN**)__ ======
586 586  
587 -====== __Configure LED Blinking (**CLB**)__ ======
527 +Ex: #5QN<cr> might return *5QN12345678<cr>
588 588  
589 -{{html wiki="true" clean="false"}}
590 -<div class="cmdcnt"><div class="cmdpad"></div><div class="cmdtxt">
591 -This command allows you to control when the RGB LED will blink the user set color (see RGB LED command for details). This is very useful when visually seeing what the servo is doing. You can turn on or off blinking for various LSS status. The command requires that the servo be RESET. Here is the list and their associated value:<div class="wikimodel-emptyline"></div>
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.
592 592  
593 -(% style="width:195px" %)
594 -|(% style="width:134px" %)**Blink While:**|(% style="width:58px" %)**#**
595 -|(% style="width:134px" %)No blinking|(% style="width:58px" %)0
596 -|(% style="width:134px" %)Limp|(% style="width:58px" %)1
597 -|(% style="width:134px" %)Holding|(% style="width:58px" %)2
598 -|(% style="width:134px" %)Accelerating|(% style="width:58px" %)4
599 -|(% style="width:134px" %)Decelerating|(% style="width:58px" %)8
600 -|(% style="width:134px" %)Free|(% style="width:58px" %)16
601 -|(% style="width:134px" %)Travelling|(% style="width:58px" %)32
602 -|(% style="width:134px" %)Always blink|(% style="width:58px" %)63<div class="wikimodel-emptyline"></div>
603 -
604 -To set blinking, use CLB with the value of your choosing. To activate blinking in multiple status, simply add together the values of the corresponding status. See examples below:<div class="wikimodel-emptyline"></div>
605 -Ex: #5CLB0<cr> to turn off all blinking (LED always solid)<div class="wikimodel-emptyline"></div>
606 -Ex: #5CLB1<cr> only blink when limp (1)<div class="wikimodel-emptyline"></div>
607 -Ex: #5CLB2<cr> only blink when holding (2)<div class="wikimodel-emptyline"></div>
608 -Ex: #5CLB12<cr> only blink when accel or decel (accel 4 + decel 8 = 12)<div class="wikimodel-emptyline"></div>
609 -Ex: #5CLB48<cr> only blink when free or travel (free 16 + travel 32 = 48)<div class="wikimodel-emptyline"></div>
610 -Ex: #5CLB63<cr> blink in all status (1 + 2 + 4 + 8 + 16 + 32)<div class="wikimodel-emptyline"></div>
611 -RESETTING the servo is needed.<div class="wikimodel-emptyline"></div>
612 -</div></div>
613 -{{/html}}
614 -
615 615  == RGB LED ==
616 616  
617 -The LED can be
533 +More information to come.
Copyright RobotShop 2018