Changes for page LSS Communication Protocol
Last modified by Eric Nantel on 2024/11/21 09:43
Change comment: There is no comment for this version
Summary
-
Page properties (3 modified, 0 added, 0 removed)
Details
- Page properties
-
- Parent
-
... ... @@ -1,1 +1,1 @@ 1 - lynxmotion:LSS- Overview(DEV).WebHome1 +Lynxmotion Smart Servo (LSS).WebHome - Author
-
... ... @@ -1,1 +1,1 @@ 1 -xwiki:XWiki. RB11 +xwiki:XWiki.CBenson - Content
-
... ... @@ -50,7 +50,7 @@ 50 50 51 51 == Configuration Commands == 52 52 53 -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:LS S- Overview(DEV).LSS - RC PWM.WebHome]].53 +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:Lynxmotion Smart Servo (LSS).LSS - RC PWM.WebHome]]. 54 54 55 55 1. Start with a number sign # (U+0023) 56 56 1. Servo ID number as an integer ... ... @@ -136,41 +136,41 @@ 136 136 = Command List = 137 137 138 138 |= #|=Description|= Action|= Query|= Config|= RC|= Serial|= Units|= Notes 139 -| 1|[[**L**imp>>||anchor="H1.Limp28L29"]]| L| | | | ✓| 140 -| 2|[[**H**alt & Hold>>||anchor="H2.Halt26Hold28H29"]]| H| | | | ✓| 141 -| 3|[[**T**imed move>>||anchor="H3.Timedmove28T29"]]| T| | | | ✓| 142 -| 4|[[**S**peed>>||anchor="H4.Speed28S29"]]| S| | | | ✓| 143 -| 5|[[**M**ove in **D**egrees (relative)>>||anchor="H5.28Relative29MoveinDegrees28MD29"]]| MD| | | | ✓| 144 -| 6|[[**O**rigin Offset>>||anchor="H6.OriginOffsetAction28O29"]]| O| QO| CO| ✓| ✓| 145 -| 7|[[**A**ngular **R**ange>>||anchor="H7.AngularRange28AR29"]]| AR| QAR| CAR| ✓| ✓| 146 -| 8|[[Position in **P**ulse>>||anchor="H8.PositioninPulse28P29"]]| P| QP| | | ✓| 139 +| 1|[[**L**imp>>||anchor="H1.Limp28L29"]]| L| | | | ✓|none| 140 +| 2|[[**H**alt & Hold>>||anchor="H2.Halt26Hold28H29"]]| H| | | | ✓|none| 141 +| 3|[[**T**imed move>>||anchor="H3.Timedmove28T29"]]| T| | | | ✓|milliseconds| Modifier only (P, D, MD) 142 +| 4|[[**S**peed>>||anchor="H4.Speed28S29"]]| S| | | | ✓|microseconds / second| Modifier only (P) 143 +| 5|[[**M**ove in **D**egrees (relative)>>||anchor="H5.28Relative29MoveinDegrees28MD29"]]| MD| | | | ✓|tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)| 144 +| 6|[[**O**rigin Offset>>||anchor="H6.OriginOffsetAction28O29"]]| O| QO| CO| ✓| ✓|tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)| 145 +| 7|[[**A**ngular **R**ange>>||anchor="H7.AngularRange28AR29"]]| AR| QAR| CAR| ✓| ✓|tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)| 146 +| 8|[[Position in **P**ulse>>||anchor="H8.PositioninPulse28P29"]]| P| QP| | | ✓|microseconds|((( 147 147 See details below 148 148 ))) 149 -| 9|[[Position in **D**egrees>>||anchor="H9.PositioninDegrees28D29"]]| D| QD| | | ✓| 150 -| 10|[[**W**heel mode in **D**egrees>>||anchor="H10.WheelModeinDegrees28WD29"]]| WD| QWD| | | ✓| 151 -| 11|[[**W**heel mode in **R**PM>>||anchor="H11.WheelModeinRPM28WR29"]]| WR| QWR| | | ✓| rpm| 152 -| 12|[[Max **S**peed in **D**egrees>>||anchor="H12.SpeedinDegrees28SD29"]]| SD| QSD| CSD| ✓| ✓| 153 -| 13|[[Max **S**peed in **R**PM>>||anchor="H13.SpeedinRPM28SR29"]]| SR| QSR| CSR| ✓| ✓| 149 +| 9|[[Position in **D**egrees>>||anchor="H9.PositioninDegrees28D29"]]| D| QD| | | ✓|tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)| 150 +| 10|[[**W**heel mode in **D**egrees>>||anchor="H10.WheelModeinDegrees28WD29"]]| WD| QWD| | | ✓|tenths of degrees per second (ex 248 = 24.8 degrees per second)|A.K.A. "Speed mode" or "Continuous rotation" 151 +| 11|[[**W**heel mode in **R**PM>>||anchor="H11.WheelModeinRPM28WR29"]]| WR| QWR| | | ✓| rpm|A.K.A. "Speed mode" or "Continuous rotation" 152 +| 12|[[Max **S**peed in **D**egrees>>||anchor="H12.SpeedinDegrees28SD29"]]| SD| QSD| CSD| ✓| ✓|tenths of degrees per second (ex 248 = 24.8 degrees per second)|QSD: Add modifier "2" for instantaneous speed 153 +| 13|[[Max **S**peed in **R**PM>>||anchor="H13.SpeedinRPM28SR29"]]| SR| QSR| CSR| ✓| ✓|rpm|QSR: Add modifier "2" for instantaneous speed 154 154 | 14|[[**A**ngular **S**tiffness>>||anchor="H14.AngularStiffness28AS29"]]| AS| QAS| CAS| ✓| ✓|none|-4 to +4, but suggested values are between 0 to +4 155 155 | 15|[[**A**ngular **H**olding Stiffness>>||anchor="H15.AngularHoldStiffness28AH29"]]|AH|QAH|CAH| | ✓|none|-10 to +10, with default as 0. 156 156 |15b|[[**A**ngular **A**cceleration>>||anchor="H15b:AngularAcceleration28AA29"]]|AA|QAA|CAA| | ✓|degrees per second squared|Increments of 10 degrees per second squared 157 157 |15c|[[**A**ngular **D**eceleration>>||anchor="H15c:AngularDeceleration28AD29"]]|AD|QAD|CAD| | ✓|degrees per second squared|Increments of 10 degrees per second squared 158 158 |15d|[[**E**nable **M**otion control>>||anchor="H15d:MotionControl28MC29"]]|EM|QEM| | | ✓|none|EM0 to disable motion control, EM1 to enable. Session specific / does not survive power cycles 159 -| 16|[[**LED** Color>>||anchor="H16.RGBLED28LED29"]]| LED| QLED| CLED| ✓| ✓| 160 -| 17|[[**ID** #>>||anchor="H17.IdentificationNumber"]]| | QID| CID| | ✓| 161 -| 18|[[**B**aud rate>>||anchor="H18.BaudRate"]]| B| QB| CB| | ✓| 162 -| 19|[[**G**yre direction (**G**)>>||anchor="H19.GyreRotationDirection"]]| G| QG| CG| ✓| ✓| 163 -| 20|[[**F**irst Position (**P**ulse)>>||anchor="H20.First2InitialPosition28pulse29"]]| | QFP|CFP | ✓| ✓| 164 -| 21|[[**F**irst Position (**D**egrees)>>||anchor="H21.First2InitialPosition28Degrees29"]]| | QFD|CFD| ✓| ✓| 165 -| 22|[[**T**arget (**D**egree) **P**osition>>||anchor="H22.QueryTargetPositioninDegrees28QDT29"]]| | QDT| | | ✓| 166 -| 23|[[**M**odel **S**tring>>||anchor="H23.QueryModelString28QMS29"]]| | QMS| | | | 167 -| 23b|[[**M**odel>>||anchor="H23b.QueryModel28QM29"]]| | QM| | | | 168 -| 24|[[Serial **N**umber>>||anchor="H24.QuerySerialNumber28QN29"]]| | QN| | | | 169 -| 25|[[**F**irmware version>>||anchor="H25.QueryFirmware28QF29"]]| | QF| | | | 170 -| 26|[[**Q**uery (general status)>>||anchor="H26.QueryStatus28Q29"]]| | Q| | | ✓| 171 -| 27|[[**V**oltage>>||anchor="H27.QueryVoltage28QV29"]]| | QV| | | ✓| 172 -| 28|[[**T**emperature>>||anchor="H28.QueryTemperature28QT29"]]| | QT| | | ✓| 173 -| 29|[[**C**urrent>>||anchor="H29.QueryCurrent28QC29"]]| | QC| | | ✓| 159 +| 16|[[**LED** Color>>||anchor="H16.RGBLED28LED29"]]| 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 160 +| 17|[[**ID** #>>||anchor="H17.IdentificationNumber"]]| | QID| CID| | ✓|none (integer from 0 to 250)|Note: ID 254 is a "broadcast" which all servos respond to 161 +| 18|[[**B**aud rate>>||anchor="H18.BaudRate"]]| B| QB| CB| | ✓|none (integer)| 162 +| 19|[[**G**yre direction (**G**)>>||anchor="H19.GyreRotationDirection"]]| G| QG| CG| ✓| ✓|none | Gyre / rotation direction where 1= CW (clockwise) -1 = CCW (counter-clockwise) 163 +| 20|[[**F**irst Position (**P**ulse)>>||anchor="H20.First2InitialPosition28pulse29"]]| | QFP|CFP | ✓| ✓|none | 164 +| 21|[[**F**irst Position (**D**egrees)>>||anchor="H21.First2InitialPosition28Degrees29"]]| | QFD|CFD| ✓| ✓|none | 165 +| 22|[[**T**arget (**D**egree) **P**osition>>||anchor="H22.QueryTargetPositioninDegrees28QDT29"]]| | QDT| | | ✓|tenths of degrees (ex 325 = 32.5 degrees; 91 = 9.1 degrees)| 166 +| 23|[[**M**odel **S**tring>>||anchor="H23.QueryModelString28QMS29"]]| | QMS| | | |none (string)| Recommended to determine the model| 167 +| 23b|[[**M**odel>>||anchor="H23b.QueryModel28QM29"]]| | QM| | | |none (integer)| Returns a raw value representing the three model inputs (36 bit)| 168 +| 24|[[Serial **N**umber>>||anchor="H24.QuerySerialNumber28QN29"]]| | QN| | | |none (integer)| 169 +| 25|[[**F**irmware version>>||anchor="H25.QueryFirmware28QF29"]]| | QF| | | |none (integer)| 170 +| 26|[[**Q**uery (general status)>>||anchor="H26.QueryStatus28Q29"]]| | Q| | | ✓|none (integer from 1 to 8)| See command description for details 171 +| 27|[[**V**oltage>>||anchor="H27.QueryVoltage28QV29"]]| | QV| | | ✓|millivolts (ex 5936 = 5936mV = 5.936V)| 172 +| 28|[[**T**emperature>>||anchor="H28.QueryTemperature28QT29"]]| | QT| | | ✓|tenths of degrees Celsius|Max temp before error: 85°C (servo goes limp) 173 +| 29|[[**C**urrent>>||anchor="H29.QueryCurrent28QC29"]]| | QC| | | ✓|milliamps (ex 200 = 0.2A)| 174 174 | 30|[[**RC** Mode>>||anchor="H30.RCMode28CRC29"]]| | |CRC| |✓|none|((( 175 175 CRC: Add modifier "1" for RC-position mode. 176 176 CRC: Add modifier "2" for RC-wheel mode. ... ... @@ -201,6 +201,8 @@ 201 201 202 202 Timed move can be used only as a modifier for a position (P) action. 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. This command is in place to ensure backwards compatibility with the SSC-32 / 32U protocol. 203 203 204 +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. 205 + 204 204 ====== __4. Speed (**S**)__ ====== 205 205 206 206 Example: #5P1500S750<cr>