Changes for page LSS Communication Protocol
Last modified by Eric Nantel on 2025/06/06 07:47
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Parent
-
... ... @@ -1,1 +1,1 @@ 1 - lynxmotion:LSS - Overview (DEV).WebHome1 +Main.WebHome - Content
-
... ... @@ -48,7 +48,7 @@ 48 48 49 49 == Configuration Commands == 50 50 51 -Configuration commands affect the servo's current session* but unlike action commands, configuration commands are written to EEPROM and are retained even if the servo loses power (therefore NOT session specific). Not all action commands have a corresponding configuration and vice versa. Certain configurations are retained for when the servo is used in RC model. More information can be found on the [[LSS - RC PWM page>>doc:LSS - Overview (DEV).LSS -RC PWM.WebHome]].51 +Configuration commands affect the servo's current session* but unlike action commands, configuration commands are written to EEPROM and are retained even if the servo loses power (therefore NOT session specific). Not all action commands have a corresponding configuration and vice versa. Certain configurations are retained for when the servo is used in RC model. More information can be found on the [[LSS - RC PWM page>>doc:LSS - RC PWM.WebHome]]. 52 52 53 53 1. Start with a number sign # (U+0023) 54 54 1. Servo ID number as an integer ... ... @@ -123,11 +123,11 @@ 123 123 | 9|Position in **D**egrees| D| QD| | | ✓| tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)| 124 124 | 10|**W**heel mode in **D**egrees| WD| QWD| | | ✓| tenths of degrees per second (ex 248 = 24.8 degrees per second)| 125 125 | 11|**W**heel mode in **R**PM| WR| QWR| | | ✓| rpm| 126 -| 12|Max **S**peed in **D**egrees| SD| QSD| CSD| ✓| ✓| tenths of degrees per second (ex 248 = 24.8 degrees per second)| QSD:Add modifier "2" for instantaneous speed127 -| 13|Max **S**peed in **R**PM| SR| QSR| CSR| ✓| ✓| rpm| QSR:Add modifier "2" for instantaneous speed128 -| 14|**A**ngular **S**tiffness| AS| QAS| CAS| ✓| ✓|none| -4to +4, but suggested values are between 0 to +4126 +| 12|Max **S**peed in **D**egrees| SD| QSD| CSD| ✓| ✓| tenths of degrees per second (ex 248 = 24.8 degrees per second)|Add modifier "2" for instantaneous speed 127 +| 13|Max **S**peed in **R**PM| SR| QSR| CSR| ✓| ✓| rpm|Add modifier "2" for instantaneous speed 128 +| 14|**A**ngular **S**tiffness| AS| QAS| CAS| ✓| ✓|none| 129 129 | 15|//N/A (removed)//| | | | | | | 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=WHITE130 +| 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= 7=MAGENTA, 8=WHITE 131 131 | 17|**ID** #| 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) ... ... @@ -139,15 +139,10 @@ 139 139 | 25|**F**irmware version| | QF| | | | none (integer)| 140 140 | 26|**Q**uery (general status)| | Q| | | ✓| none (integer from 1 to 8)| See command description for details 141 141 | 27|**V**oltage| | QV| | | ✓| tenths of volt (ex 113 = 11.3V; 92 = 9.2V)| 142 -| 28|**T**emperature| | QT| | | ✓| degrees Celsius| Maxtemp before error: 85°C (servo goes limp)142 +| 28|**T**emperature| | QT| | | ✓| degrees Celsius| 143 143 | 29|**C**urrent| | QC| | | ✓| tenths of Amps (ex 2 = 0.2A)| 144 -| 30|**RC** Mode| | |CRC| |✓| |((( 145 -CRC: Add modifier "1" for RC-position mode. 146 -CRC: Add modifier "2" for RC-wheel mode. 147 -Any other value for the modifier results in staying in smart mode. 148 -Puts the servo into RC mode. To revert to smart mode, use the button menu. 149 -))) 150 150 | | | | | | | | | 145 +| | | | | | | | | 151 151 152 152 = Details = 153 153 ... ... @@ -237,10 +237,10 @@ 237 237 238 238 Query Position in Pulse (**QP**) 239 239 240 -Example: #5QP<cr> might return *5QP 2334235 +Example: #5QP<cr> might return *5QP 241 241 242 242 This command queries the current angular position in PWM "units". The user must take into consideration that the response includes any angular range and origin configurations in order to determine the actual angle. 243 -Valid values for QP are {-500, [500, 2500], -2500}. Values outside the [500, 2500] range are given a negative corresponding end point value to indicate they are out of bounds (note that if the servo is physically located at one of the endpoints, it may return a negative number if it is a fraction of a degree beyond the position).238 +Valid values for QP are {-500, [500, 2500], -2500}. Values outside the [500, 2500] range are given a negative corresponding end point value to indicate they are out of bounds. 244 244 245 245 __9. Position in Degrees (**D**)__ 246 246 ... ... @@ -252,10 +252,8 @@ 252 252 253 253 Query Position in Degrees (**QD**) 254 254 255 -Example: #5QD<cr> might return *5QD 132<cr>250 +Example: #5QD<cr> might return *5QD0<cr> 256 256 257 -This means the servo is located at 13.2 degrees. 258 - 259 259 __10. Wheel Mode in Degrees (**WD**)__ 260 260 261 261 Ex: #5WD900<cr> ... ... @@ -378,7 +378,7 @@ 378 378 379 379 Configure LED Color (**CLED**) 380 380 381 -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.374 +Configuring the LED color via the CLED command sets the startup color of the servo after a reset or power cycle. 382 382 383 383 __17. Identification Number__ 384 384 ... ... @@ -386,13 +386,13 @@ 386 386 387 387 Query Identification (**QID**) 388 388 389 -EX: # 254QID<cr> might return *QID5<cr>382 +EX: #QID<cr> might return *QID5<cr> 390 390 391 -When using the query ID command, it is best to only have one servo connected and thus receive only one reply using the broadcast command (ID 254).Alternatively, pushing the button upon startup and temporarily setting the servo ID to 255 will still result in the servo responding with its "real" ID.384 +When using the query ID command, it is best to only have one servo connected and thus receive only one reply. 392 392 393 393 Configure ID (**CID**) 394 394 395 -Ex: # 4CID5<cr>388 +Ex: #CID5<cr> 396 396 397 397 Setting a servo's ID in EEPROM is done via the CID command. All servos connected to the same serial bus will be assigned that ID. In most situations each servo must be set a unique ID, which means each servo must be connected individually to the serial bus and receive a unique CID number. It is best to do this before the servos are added to an assembly. Numbered stickers are provided to distinguish each servo after their ID is set, though you are free to use whatever alternative method you like. 398 398 ... ... @@ -439,13 +439,13 @@ 439 439 440 440 Ex: #5QFP<cr> might return *5QFP1550<cr> 441 441 442 -The reply above indicates that servo with ID 5 has a first position pulse of 1550 microseconds. If no first position has been set, servo will respond with DIS ("disabled").435 +The reply above indicates that servo with ID 5 has a first position pulse of 1550 microseconds. 443 443 444 -Configure First Position in Pulses ( **CFP**)437 +Configure First Position in Pulses (CFP) 445 445 446 446 Ex: #5CP1550<cr> 447 447 448 -This configuration command means the servo, when set to RC mode, will immediately move to an angle equivalent to having received an RC pulse of 1550 microseconds upon power up. Sending a CFP command without a number results in the servo remaining limp upon power up (i.e. disabled).441 +This configuration command means the servo, when set to RC mode, will immediately move to an angle equivalent to having received an RC pulse of 1550 microseconds upon power up. Sending a CFP command without a number results in the servo remaining limp upon power up. 449 449 450 450 __21. First / Initial Position (Degrees)__ 451 451 ... ... @@ -491,7 +491,7 @@ 491 491 492 492 Ex: #5Q<cr> might return *5Q6<cr>, which indicates the motor is holding a position. 493 493 494 -|*Value returned|**Status**|**Detailed description** 487 +|*Value returned****|**Status**|**Detailed description** 495 495 |ex: *5Q0<cr>|Unknown|LSS is unsure 496 496 |ex: *5Q1<cr>|Limp|Motor driving circuit is not powered and horn can be moved freely 497 497 |ex: *5Q2<cr>|Free moving|Motor driving circuit is not powered and horn can be moved freely ... ... @@ -516,18 +516,12 @@ 516 516 517 517 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. 518 518 519 -__29. Query Current ( **QC**)__512 +__29. Query Current (QC)__ 520 520 521 521 Ex: #5QC<cr> might return *5QC140<cr> 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**)__ 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 serial model only using the button menu. 528 - 529 -EX: #5CRC<cr> 530 - 531 531 __**RESET**__ 532 532 533 533 Ex: #5RESET<cr> or #5RS<cr>