Changes for page LSS Communication Protocol
Last modified by Eric Nantel on 2025/06/06 07:47
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 ... ... @@ -522,19 +522,25 @@ 522 522 523 523 The units are in milliamps, so in the example above, the servo is consuming 140mA, or 0.14A. 524 524 525 -__ 20. RC Mode (**CRC**)__551 +__30. RC Mode (**CRC**)__ 526 526 527 -This command puts the servo into RC mode, 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 555 +|**Command sent**|**Note** 556 +|ex: #5CRC<cr>|Stay in smart mode. 557 +|ex: #5CRC1<cr>|Change to RC position mode. 558 +|ex: #5CRC2<cr>|Change to RC continuous (wheel) mode. 559 +|ex: #5CRC*<cr>|Where * is any number or value. Stay in smart mode. 560 + 529 529 EX: #5CRC<cr> 530 530 531 -__ **RESET**__563 +__31. RESET__ 532 532 533 533 Ex: #5RESET<cr> or #5RS<cr> 534 534 535 535 This command does a "soft reset" (no power cycle required) and reverts all commands to those stored in EEPROM (i.e. configuration commands). 536 536 537 - **__DEFAULT__**__&**CONFIRM**__569 +__32. DEFAULT & CONFIRM__ 538 538 539 539 Ex: #5DEFAULT<cr> 540 540 ... ... @@ -546,7 +546,7 @@ 546 546 547 547 Note that after the CONFIRM command is sent, the servo will automatically perform a RESET. 548 548 549 - **__UPDATE__**__&**CONFIRM**__581 +__33. UPDATE & CONFIRM__ 550 550 551 551 Ex: #5UPDATE<cr> 552 552 ... ... @@ -558,22 +558,4 @@ 558 558 559 559 Note that after the CONFIRM command is sent, the servo will automatically perform a RESET. 560 560 561 -=== Virtual Angular Position === 562 - 563 -{In progress} 564 - 565 -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. 566 - 567 -[[image:LSS-servo-positions.jpg]] 568 - 569 -Example: Gyre direction / rotation is positive (clockwise), and origin offset has not been modified. 570 - 571 -#1D-300<cr> The servo is commander to move to -30.0 degrees (green arrow) 572 - 573 -#1D2100<cr> This second position command is sent to the servo, which moves it to 210.0 degrees (orange arrow) 574 - 575 -#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. 576 - 577 -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. 578 - 579 -#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 +=== ===