Changes for page LSS Communication Protocol
Last modified by Eric Nantel on 2024/11/21 09:43
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -39,7 +39,7 @@ 39 39 40 40 Results in the servo rotating from the current angular position to a pulse position of 1456 in 1263 milliseconds. 41 41 42 - Modifiedcommandsare commandpecific.42 +Action modifiers can only be used with certain commands. 43 43 ))) 44 44 45 45 ((( ... ... @@ -105,6 +105,30 @@ 105 105 #5QSR<cr> would return *5QSR4<cr> which represents the value for that session. 106 106 107 107 #5QSR1<cr> would return *5QSR20<cr> which represents the value in EEPROM 108 + 109 +=== Virtual Angular Position === 110 + 111 +{In progress} 112 + 113 +A "virtual position" is one which allows for multiple rotations of the output horn, moving the center position and more. The "absolute position" would be the angle of the output shaft with respect to 360.0 degrees. 114 + 115 +[[image:LSS-servo-positions.jpg]] 116 + 117 +Example: Gyre direction / rotation is positive (clockwise), and origin offset has not been modified. Each square represents 30 degrees. 118 + 119 +#1D-300<cr> The servo is sent a command to move to -30.0 degrees (green arrow) 120 + 121 +#1D2100<cr> This second position command is sent to the servo, which moves it to 210.0 degrees (orange arrow) 122 + 123 +#1D-4200<cr> This next command rotates the servo counterclockwise to a position of -420 degrees (red arrow), which means one full rotation of 360 degrees, stopping at an absolute position of 60.0 degrees (420.0-360.0), with a virtual position of -420.0 degrees. 124 + 125 +Although the final physical position would be the same as if the servo were commanded to move to -60.0 degrees, the servo is in fact at -420.0 degrees. 126 + 127 +#1D4800<cr> This new command is sent which would then cause the servo to rotate from -420.0 degrees to 480.0 degrees (blue arrow), which would be a total of 900 degrees of clockwise rotation, or 2.5 complete rotations. 128 + 129 +#1D3300<cr> would cause the servo to rotate from 480.0 degrees to 330.0 degrees (yellow arrow). 130 + 131 +If / once the servo loses power or is power cycled, it also loses the virtual position associated with that session. For example, if the virtual position was 480.0 degrees before power is cycled, upon power up the servo's position will be read as +120.0 degrees from zero (assuming center position has not been modified). 108 108 ))) 109 109 110 110 = Command List = ... ... @@ -128,7 +128,7 @@ 128 128 | 14|**A**ngular **S**tiffness| AS| QAS| CAS| ✓| ✓|none|-4 to +4, but suggested values are between 0 to +4 129 129 | 15|//N/A (removed)//| | | | | | | 130 130 | 16|**LED** Color| LED| QLED| CLED| ✓| ✓| none (integer from 1 to 8)|0=OFF 1=RED 2=GREEN 3= BLUE 4=YELLOW 5=CYAN 6=MAGENTA, 7=WHITE 131 -| 17|**ID** #| ID| QID| CID| | ✓| none (integer from 0 to 250)|Note: ID 254 is a "broadcast" which all servos respond to155 +| 17|**ID** #| | QID| CID| | ✓| none (integer from 0 to 250)|Note: ID 254 is a "broadcast" which all servos respond to 132 132 | 18|**B**aud rate| B| QB| CB| | ✓| none (integer)| 133 133 | 19|**G**yre direction (**G**)| G| QG| CG| ✓| ✓| none | Gyre / rotation direction where 1= CW (clockwise) -1 = CCW (counter-clockwise) 134 134 | 20|**F**irst Position (**P**ulse)| | QFP|CFP | ✓| ✓| none | ... ... @@ -147,7 +147,9 @@ 147 147 Any other value for the modifier results in staying in smart mode. 148 148 Puts the servo into RC mode. To revert to smart mode, use the button menu. 149 149 ))) 150 -| | | | | | | | | 174 +|31|**RESET**| | | | | ✓|none|Soft reset. See command for details. 175 +|32|**DEFAULT**| | | | |✓|none|Revert to firmware defaults. See command for details 176 +|33|**UPDATE**| | | | |✓|none|Update firmware. See command for details. 151 151 152 152 = Details = 153 153 ... ... @@ -524,28 +524,23 @@ 524 524 525 525 __30. RC Mode (**CRC**)__ 526 526 527 -This command puts the servo into RC mode (position or continuous), where it will only respond to RC pulses. Note that because this is the case, the servo will no longer accept serial commands. The servo can be placed back into smart mode only using the button menu.553 +This command puts the servo into RC mode (position or continuous), where it will only respond to RC pulses. Note that because this is the case, the servo will no longer accept serial commands. The servo can be placed back into smart mode by using the button menu. 528 528 529 -CRC: Add modifier "1" for RC-position mode. 530 -CRC: Add modifier "2" for RC-wheel mode. 531 -Any other value for the modifier results in staying in smart mode. 532 -Puts the servo into RC mode. To revert to smart mode, use the button menu. 533 - 534 534 |**Command sent**|**Note** 535 535 |ex: #5CRC<cr>|Stay in smart mode. 536 536 |ex: #5CRC1<cr>|Change to RC position mode. 537 537 |ex: #5CRC2<cr>|Change to RC continuous (wheel) mode. 538 -|ex: #5CRC* **<cr>**|Where ***is any number or value. Stay in smart mode.**559 +|ex: #5CRC*<cr>|Where * is any number or value. Stay in smart mode. 539 539 540 540 EX: #5CRC<cr> 541 541 542 -__ **RESET**__563 +__31. RESET__ 543 543 544 544 Ex: #5RESET<cr> or #5RS<cr> 545 545 546 546 This command does a "soft reset" (no power cycle required) and reverts all commands to those stored in EEPROM (i.e. configuration commands). 547 547 548 - **__DEFAULT__**__&**CONFIRM**__569 +__32. DEFAULT & CONFIRM__ 549 549 550 550 Ex: #5DEFAULT<cr> 551 551 ... ... @@ -557,7 +557,7 @@ 557 557 558 558 Note that after the CONFIRM command is sent, the servo will automatically perform a RESET. 559 559 560 - **__UPDATE__**__&**CONFIRM**__581 +__33. UPDATE & CONFIRM__ 561 561 562 562 Ex: #5UPDATE<cr> 563 563 ... ... @@ -569,22 +569,4 @@ 569 569 570 570 Note that after the CONFIRM command is sent, the servo will automatically perform a RESET. 571 571 572 -=== Virtual Angular Position === 573 - 574 -{In progress} 575 - 576 -A "virtual position" is one which allows for multiple rotations of the output horn, moving the center position and more. The "absolute position" would be the angle of the output shaft with respect to 360.0 degrees. 577 - 578 -[[image:LSS-servo-positions.jpg]] 579 - 580 -Example: Gyre direction / rotation is positive (clockwise), and origin offset has not been modified. 581 - 582 -#1D-300<cr> The servo is commander to move to -30.0 degrees (green arrow) 583 - 584 -#1D2100<cr> This second position command is sent to the servo, which moves it to 210.0 degrees (orange arrow) 585 - 586 -#1D-4200<cr> The servo rotates counterclockwise to a position of -420 degrees (red arrow), which means one full rotation of 360 degrees and (420.0-360.0) stopping at an absolute position of 60.0 degrees, but virtual position of -420.0. 587 - 588 -Although the final position would be the same as if the servo were commanded to move to -60.0 degrees, it is in fact at -420.0 degrees. 589 - 590 -#1D4800<cr> This new command is sent which would then cause the servo to rotate from -420.0 degrees to 480.0 degrees, which would be a total of 900 degrees of clockwise rotation, or 2.5 complete rotations. 593 +=== ===