Changes for page LSS Communication Protocol
Last modified by Eric Nantel on 2025/06/06 07:47
Change comment: There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -134,7 +134,7 @@ 134 134 | 1|[[**L**imp>>||anchor="H1.Limp28L29"]]| L| | | | | ✓|none|(% style="width:510px" %) |(% style="text-align:center; width:113px" %) 135 135 | 2|[[**H**alt & **H**old>>||anchor="H2.Halt26Hold28H29"]]| H| | | | | ✓|none|(% style="width:510px" %) |(% style="text-align:center; width:113px" %) 136 136 | 3|[[**T**imed move>>||anchor="H3.Timedmove28T29modifier"]]| T| | | | | ✓|milliseconds|(% style="width:510px" %) Modifier only for {P, D, MD}|(% style="text-align:center; width:113px" %) 137 -| 4|[[**S**peed>>||anchor="H4.Speed28S29modifier"]]| S| QS| | | | ✓|microseconds per second|(% style="width:510px" %) Modifier only {P}|(% style="text-align:center; width:113px" %)137 +| 4|[[**S**peed>>||anchor="H4.Speed28S29modifier"]]| S| | | | | ✓|microseconds per second|(% style="width:510px" %) Modifier only {P}|(% style="text-align:center; width:113px" %) 138 138 | 5|[[**M**ove in **D**egrees (relative)>>||anchor="H5.28Relative29MoveinDegrees28MD29"]]| MD| | | | | ✓|tenths of degrees (ex 325 = 32.5 degrees)|(% style="width:510px" %) |(% style="text-align:center; width:113px" %) 139 139 | 6|[[**O**rigin Offset>>||anchor="H6.OriginOffsetAction28O29"]]| O| QO|CO|✓| ✓| ✓|tenths of degrees (ex 91 = 9.1 degrees)|(% style="width:510px" %) |(% style="text-align:center; width:113px" %)((( 140 140 0 ... ... @@ -158,14 +158,14 @@ 158 158 159 159 SR overwrites SD / CSR overwrites CSD and vice-versa. 160 160 )))|(% style="text-align:center; width:113px" %)Max per servo 161 -| 14|[[**LED** Color>>||anchor="H14.LEDColor28LED29"]]| LED| QLED| CLED|✓| ✓| ✓|none (integer from 0 to 8)|(% style="width:510px" %)0=Off (black); 1=Red 2=Green; 3=Blue; 4=Yellow; 5=Cyan; 6=Magenta; 7=White;|(% style="text-align:center; width:113px" %) 0 (OFF)161 +| 14|[[**LED** Color>>||anchor="H14.LEDColor28LED29"]]| LED| QLED| CLED|✓| ✓| ✓|none (integer from 0 to 8)|(% style="width:510px" %)0=Off (black); 1=Red 2=Green; 3=Blue; 4=Yellow; 5=Cyan; 6=Magenta; 7=White;|(% style="text-align:center; width:113px" %)7 162 162 | 15|[[**G**yre direction (**G**)>>||anchor="H15.GyreRotationDirection28G29"]]| G| QG| CG|✓| ✓| ✓|none |(% style="width:510px" %)Gyre / rotation direction: 1= CW (clockwise) -1 = CCW (counter-clockwise)|(% style="text-align:center; width:113px" %)1 163 163 | 16|[[**ID** #>>||anchor="H16.IdentificationNumber28ID29"]]| | QID| CID| | | ✓|none (integer from 0 to 250)|(% style="width:510px" %)Note: ID 254 is a "broadcast" which all servos respond to. |(% style="text-align:center; width:113px" %)0 164 -| 17|[[**B**aud rate>>||anchor="H17.BaudRate"]]| | QB| CB| | | ✓|none (integer)|(% style="width:510px" %) |(% style="text-align:center; width:113px" %) 115200164 +| 17|[[**B**aud rate>>||anchor="H17.BaudRate"]]| | QB| CB| | | ✓|none (integer)|(% style="width:510px" %) |(% style="text-align:center; width:113px" %)9600 165 165 | 18|//{coming soon}//| | | | | | | |(% style="width:510px" %) |(% style="text-align:center; width:113px" %)((( 166 166 167 167 ))) 168 -| 19|[[**F**irst Position (**D**eg)>>||anchor="H19.First A0Position28Degrees"]]| | QFD|CFD|X| ✓| ✓|none |(% style="width:510px" %) |(% style="text-align:center; width:113px" %)No Value168 +| 19|[[**F**irst Position (**D**eg)>>||anchor="H19.FirstPosition28Degrees2928FD29"]]| | QFD|CFD|X| ✓| ✓|none |(% style="width:510px" %)CFD overwrites CFP and vice-versa|(% style="text-align:center; width:113px" %)Limp 169 169 | 20|[[**M**odel **S**tring>>||anchor="H20.QueryModelString28QMS29"]]| | QMS| | | | |none (string)|(% style="width:510px" %) Returns the type of servo (ST, HS, HT)|(% style="text-align:center; width:113px" %) 170 170 | 21|[[Serial **N**umber>>||anchor="H21.QuerySerialNumber28QN29"]]| | QN| | | | |none (integer)|(% style="width:510px" %) Returns the unique serial number for that servo|(% style="text-align:center; width:113px" %) 171 171 | 22|[[**F**irmware version>>||anchor="H22.QueryFirmware28QF29"]]| | QF| | | | |none (integer)|(% style="width:510px" %) |(% style="text-align:center; width:113px" %) ... ... @@ -191,7 +191,7 @@ 191 191 | A6|[[**C**onfigure **L**ED **B**linking>>||anchor="HA6.ConfigureLEDBlinking28CLB29"]]| |QLB| CLB| | ✓| ✓|none (integer from 0 to 63)|(% style="width:510px" %)((( 192 192 0=No blinking, 63=Always blink; 193 193 194 -Blink while: 1= Limp; 2=Holding; 4=Accel; 8=Decel; 16=Free 32=Travel;194 +Blink while: 1=Holding; 2=Limp; 4=Accel; 8=Decel; 16=Free 32=Travel; 195 195 ))) 196 196 197 197 == Details == ... ... @@ -222,12 +222,6 @@ 222 222 223 223 This command is a modifier 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. 224 224 225 -Query Speed (**QS**) 226 - 227 -Example: #5QS<cr> might return *5QS300<cr> 228 - 229 -This command queries the current speed in microseconds per second. 230 - 231 231 ====== __5. (Relative) Move in Degrees (**MD**)__ ====== 232 232 233 233 Example: #5MD123<cr> ... ... @@ -297,7 +297,7 @@ 297 297 298 298 ====== __9. Position in Degrees (**D**)__ ====== 299 299 300 -Example: #5D1456<cr> 294 +Example: #5PD1456<cr> 301 301 302 302 This moves the servo to an angle of 145.6 degrees, where the center (0) position is centered. Negative values (ex. -176 representing -17.6 degrees) are used. A full circle would be from -1800 to 1800 degrees. A value of 2700 would be the same angle as -900, except the servo would move in a different direction. 303 303 ... ... @@ -396,7 +396,7 @@ 396 396 397 397 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. 398 398 399 -0=O ff(black);1=Red2=Green;3=Blue;4=Yellow;5=Cyan;6=Magenta;7=White;393 +0=OFF 1=RED 2=GREEN 3= BLUE 4=YELLOW 5=CYAN 6= 7=MAGENTA, 8=WHITE 400 400 401 401 Query LED Color (**QLED**) 402 402 ... ... @@ -446,7 +446,7 @@ 446 446 447 447 ====== __17. Baud Rate__ ====== 448 448 449 -A servo's baud rate cannot be set "on the fly" and must be configured via the CB command described below. The factory default baud rate for all servos is 115200. Since smart servos are intended to be daisy chained, in order to respond to the same serial bus, all servos in a project should ideally be set to the same baud rate. Setting different baud rates will have the servos respond differently and may create issues. Available baud rates are: 9600 bps, 19200 bps, 38400 bps, 57600 bps, 115.2 kbps, 230.4 kbps, 250.0 kbps, 460.8 kbps, 500.0 kbps. Servos are shipped with a baud rate set to 9600. The baud rates are currently restricted to those above.443 +A servo's baud rate cannot be set "on the fly" and must be configured via the CB command described below. The factory default baud rate for all servos is 9600. Since smart servos are intended to be daisy chained, in order to respond to the same serial bus, all servos in a project should ideally be set to the same baud rate. Setting different baud rates will have the servos respond differently and may create issues. Available baud rates are: 9600 bps, 19200 bps, 38400 bps, 57600 bps, 115.2 kbps, 230.4 kbps, 250.0 kbps, 460.8 kbps, 500.0 kbps. Servos are shipped with a baud rate set to 9600. The baud rates are currently restricted to those above. 450 450 451 451 Query Baud Rate (**QB**) 452 452 ... ... @@ -466,21 +466,21 @@ 466 466 467 467 Command coming soon.... 468 468 469 -====== __19. First Position (Degrees)__ ====== 463 +====== __19. First Position (Degrees) (**FD**)__ ====== 470 470 471 -In certain cases, a user might want to have the servo move to a specific angle upon power up; we refer to this as "first position" (a.k.a. "initial position"). The factory default has no first position value stored in EEPROM and therefore upon power up, the servo remains limp until a position (or hold command) is assigned. 465 +In certain cases, a user might want to have the servo move to a specific angle upon power up; we refer to this as "first position" (a.k.a. "initial position"). The factory default has no first position value stored in EEPROM and therefore upon power up, the servo remains limp until a position (or hold command) is assigned. FP and FD are different in that FP is used for RC mode only, whereas FD is used for smart mode only. 472 472 473 473 Query First Position in Degrees (**QFD**) 474 474 475 475 Ex: #5QFD<cr> might return *5QFD64<cr> 476 476 477 -The reply above indicates that servo with ID 5 has a first position pulse of 1550 microseconds. If there is no first position value stored, the reply will be DIS471 +The reply above indicates that servo with ID 5 has a first position pulse of 1550 microseconds. 478 478 479 479 Configure First Position in Degrees (**CFD**) 480 480 481 481 Ex: #5CD64<cr> 482 482 483 -This configuration command means the servo, when set to smart mode, will immediately move to 6.4 degrees upon power up. Sending a CFD command without a number (Ex. #5CFD<cr>) results in the servo remaining limp upon power up. In order to remove the first position, send no value, ex: #5CFD<cr>477 +This configuration command means the servo, when set to smart mode, will immediately move to 6.4 degrees upon power up. Sending a CFD command without a number (Ex. #5CFD<cr>) results in the servo remaining limp upon power up. 484 484 485 485 ====== __20. Query Model String (**QMS**)__ ====== 486 486