Wiki source code of LSS - Configuration Software

Version 179.1 by RB1 on 2020/07/15 16:28

Hide last authors
RB1 177.1 1 {{lightbox image="lynxmotion-smart-servo.lss-configuration-software.WebHome@LSS Config - 20.7.3 - Screenshot.png" title="LSS Config - 20.7.3 - Screenshot" width="600"/}}
Eric Nantel 158.1 2
Eric Nantel 157.1 3 [[[[image:wiki-download.png]]>>https://www.robotshop.com/en/lynxmotion-smart-servo-lss-configuration-software.html||rel="noopener noreferrer" target="_blank"]]
RB1 154.1 4
Eric Nantel 107.1 5 **Table of Contents**
Eric Nantel 47.1 6
Eric Nantel 44.1 7 {{toc/}}
8
Coleman Benson 151.1 9 = Description =
10
RB1 63.1 11 The LSS Configuration software ("LSS Config" for short) is intended to provide easy access to the main features and functionality of the [[Lynxmotion Smart Servo Motors>>doc:lynxmotion-smart-servo.WebHome]], as well as providing access to firmware updates.
RB1 1.1 12
RB1 167.1 13 NOTE: The software can be connected to multiple servos, but the interface can only control one at any time. The servo(s) must be powered correctly and in serial mode. Should your servo(s) NOT be in serial mode, please refer to the [[button menu>>doc:lynxmotion-smart-servo.lss-button-menu.WebHome]].
RB1 3.2 14
Coleman Benson 161.1 15 = Features =
RB1 3.1 16
Coleman Benson 161.1 17 == Connection ==
18
RB1 178.1 19 {{lightbox image="lynxmotion-smart-servo.lss-configuration-software.WebHome@lss-config-20.7.14.2-header-controls-not-connected.png" title="LSS Config - 20.7.14.2 - Header controls (not connected)" width="552" group="header"/}} {{lightbox image="lynxmotion-smart-servo.lss-configuration-software.WebHome@lss-config-20.7.14.2-header-controls-connected.png" title="LSS Config - 20.7.14.2 - Header controls (connected, before scan)" width="552" group="header"/}} {{lightbox image="lynxmotion-smart-servo.lss-configuration-software.WebHome@lss-config-20.7.14.2-header-controls-lss-selected.png" title="LSS Config - 20.7.14.2 - Header controls (LSS selected, after scan)" width="552" group="header"/}}
RB1 13.1 20
RB1 178.1 21 The headers above show the three main states (from top to bottom):
22
23 * Before a connection is made
24 * After a connection, before a scan
25 * After a scan with a LSS selected
26
Coleman Benson 96.1 27 The header includes (left to right):
RB1 28.1 28
RB1 178.1 29 * COM port selection
30 * CONNECT / DISCONNECT (toggle ON / OFF)
31 * SCAN: (popup) scans the bus for all available servo motors
RB1 167.1 32 * SERVO LIST: Servo selected via the dropdown menu
33 * FIRMWARE: (popup) used to update servo's firmware
RB1 178.1 34 * WIKI (link to the LSS Config guide on the Lynxmotion Wiki)
RB1 13.1 35
RB1 167.1 36 === COM Port ===
RB1 3.1 37
RB1 179.1 38 Connection to the servo is done automatically via any properly installed USB to serial interface like the [[LSS Adapter board>>doc:servo-erector-set-system.ses-electronics.ses-modules.lss-adapter-board.WebHome]]. Once the servo is powered and properly connected to the computer, the COM port should appear in the COM port list. Ensure the board is recognized by the computer and if not, install the proper drivers. If you have multiple communication ports active, go to Windows -> Device Manager to determine which is appropriate for the USB to serial adapter you are using. Click CONNECT to connect to the servo. If you wish to change the COM port selected you must disconnect, select the correct COM port and reconnect.
RB1 167.1 39
RB1 179.1 40 If you are not sure which COM port to select, in Windows, go to Device Manager -> Ports (COM & LPT) and select the port associated with the USB to serial device. If it is still not clear which is the proper COM port, simply disconnect and reconnec the USB cable with Device Manager open. The proper COM port will disapear (when disconnecting the USB cable) and reappear (when connecting the USB cable).
41
RB1 167.1 42 === Scan ===
43
RB1 179.1 44 {{lightbox image="lynxmotion-smart-servo.lss-configuration-software.WebHome@lss-config-20.7.14.2-scan-options.png" title="LSS Config - 20.7.14.2 - Scan options" width="124"/}}
RB1 167.1 45
RB1 179.1 46 The next step once the COM port has been selected is to scan the port. The software can send commands to (and listen for a reply from) all servo IDs (0 to 250) at all standard baud rates on the selected COM port. In the pop-up, select the baud rates which you would like to scan. You may also limit the IDs to scan for. When in doubt, leave all baud rates selected
RB1 167.1 47
RB1 179.1 48 Once you press OK, the scan will start by turning off the LED of all servos on the selected baud rates (#254LED0\r). Then, each selected baud rate is scanned for servos. The command line interface will include messages for all servos found (or not found) at each baud rate, as well as any conflicts discovered (two or more LSS at the same location). In this case, a location is defined as a baud rate and ID pair.
RB1 167.1 49
RB1 179.1 50 This process will take a few seconds and once completed, a list of all available servos with which the software was able to communicate will appear in the list next to "Servo" (in the top orange Connection field of the interface) as a drop-down. All servos correctly identified on the bus will have their LED turn green (session specific as opposed to configured) to indicate no conflict. If two or more servos have the same ID, those servo's LED will turn red for that session, indicating an issue or overlap in IDs. To resolve this, you will need to change the ID of those servos to be distinct (they will need to be connected individually/separately from the other conflicting servos).
51
RB1 167.1 52 **GREEN LED**: No Conflict
53
54 **RED LED**: Conflict Found
55
56 Note that these LED colors are SESSION specific (as opposed to configured). The LED color listed under Configurations will remain the user choice (OFF by default).
57
58 === Servo ===
59
60 The scan provides a list of all servos which have been detected on the bus and lists the following choices in the drop-down. Note that the last servo in the list is automatically / arbitrarily selected for convenience.
61
62 LSS-None (???; ~-~--k)
63
64 This first option is used only when a servo ("???" to signify "unknown servo") cannot be reached via the LSS Config software and needs to be manually set to bootloader mode via the button menu in order to re-flash the firmware. The telemetry graph and configurations are all greyed out when this is selected. Once the servo has been set manually to bootloader mode, select this option and go through the firmware update procedure. This normally only needs to be done as a "last resort".
65
66 LSS-All (254; ~-~--k)
67
68 This uses the "broadcast" ID (#254) which all servos are configured to respond to (along with their own ID). Since there is no particular servo being monitored, the telemetry graph and configurations are all greyed out. This is used to send the same firmware update to all servos on the bus, or to send the same action command to all servos on the bus via the Command line interface described below.
69
70 The drop-down list will be populated with all servos which the software has found on the bus, indicating their ID, servo model and firmware version. Each servo will then be listed in the following format:
71
72 ST1 (0;115.2k [368])
73
74 The servo model is displayed first (ST1, HS1, HT1), followed by its ID, the baud rate to which it has been st (ex. 115200, or 115.2k) and its firmware version in rectangular brackets. Selecting a servo from the list will allow the software to communicate with it.
75
Eric Nantel 51.1 76 == Firmware Update ==
RB1 3.1 77
RB1 175.2 78 {{lightbox image="lynxmotion-smart-servo.lss-configuration-software.WebHome@LSS Config - 20.7.3 - Firmware update.png" width="416"/}}
RB1 3.1 79
RB1 167.1 80 The firmware update option is a popup which includes:
RB1 28.1 81
Coleman Benson 96.1 82 * Firmware version in dropdown format, including the current recommended version
83 * Experimental firmware (if available)
84 * Cancel firmware update
85 * OK to continue firmware update
86 * Notes regarding the firmware
RB1 17.1 87
RB1 167.1 88 The LSS Config software serves as the main software used to update the servo's onboard firmware / programming. An internet connection is needed in order for the software to check if an online update is available. The servo's current firmware version is displayed to the left of the FIRMWARE button. Pressing the button will open a popup window which allows you to select the firmware version to upload to the servo. When checked, the Exp. button will allow experimental versions of the firmware to be displayed in the list. It also allows to load directly from a local file.
RB1 17.1 89
RB1 167.1 90 Following this pop-up your servo will be restarted and a progress bar will be displayed in the command line. Do not disconnect the servo during a firmware update. If the process does get interrupted, you can still upload firmware to the LSS by going into bootloader mode by holding the button at power up.
Coleman Benson 161.1 91
Coleman Benson 163.1 92 __**NOTE: Before assembling the servos as part of a robot, check to see if there is a firmware update available.**__
93
Coleman Benson 161.1 94 == Servo Control ==
RB1 3.2 95
RB1 131.1 96 {{lightbox image="lss-config-control-0003-both.png" width="485"/}}
RB1 3.1 97
Coleman Benson 100.1 98 The servo control section allows you to visually move the servo and change a variety of parameters, including:
99
RB1 132.1 100 * Position: pale blue caret
101 * Origin offset: magenta caret
102 * Angular range: magenta square carets
103 * RPM: green arrow / indicator
104 * Initial position: dark blue caret
RB1 4.1 105
RB1 135.1 106 At the lower left the servo model and the LED color are shown.
RB1 3.1 107
Eric Nantel 51.1 108 == Configurations ==
RB1 5.1 109
Eric Nantel 108.1 110 {{lightbox image="lss-config-configurations.jpg" width="350"/}}
RB1 9.1 111
Coleman Benson 150.1 112 Upon connection, the software will read all configuration values and update the values in the "configurations" section. Visit the [[doc:lynxmotion-smart-servo.lss-communication-protocol.WebHome]] page for more information about commands, actions and configurations.
RB1 5.1 113
RB1 167.1 114 Changing the values will not affect the session. Values which have been changed will have a yellow background. The values which can be entered are restricted to what the servo can accept; for example, servo IDs must be below 250.
RB1 5.1 115
RB1 167.1 116 Each command is associated with the following protocol. Additional details for each can be found on the [[LSS Communication Protocol>>doc:lynxmotion-smart-servo.lss-communication-protocol.WebHome]] page.
RB1 5.1 117
RB1 167.1 118 (% style="margin-right:auto" %)
119 |Field|Command|Update?
120 |Pos 1/10 & Send|**D **(position in 1/10 degrees)|No
121 |E-STOP|**L** (limp)|No
122 |Hold|**H** (Halt & Hold)|No
123 |Servo ID|**CID** (Configure servo ID)|Yes
124 |Baud Rate|**CB** (Configure Baud rate)|Yes
125 |Origin Offset|**CO** (Configure Origin Offset)|Yes
126 |Angular Rng|**CAR** (Configure Angular Range)|Yes
127 |Gyre Dir|**CG** (Configure Gyre direction)|Yes
128 |LED Color|**CLED** (Configure LED)|Yes
129 |First Pos. & Active & Value:|**CFP** (Configure First Position), toggle active & input value|Yes
130 |Max Speed (RPM)|**CSD **(Configure maximum Speed in Degrees)|Yes
131 |Stiffness|**CAH** (Configure Angular Holding stiffness)|Yes
RB1 14.1 132
RB1 167.1 133 **UPDATE** Pressing this button will write all values to EEPROM, changing the configurations, and reverting all background colors to white.
134
135 **UNDO ALL** is a shortcut button which reverts all changes made which have not been written to EEPROM.
136
RB1 15.1 137 **SMART** / **RC POS** / **RC WHL**: This is a shortcut to change the servo's mode (LSS Smart Serial / RC PWM Position / RC PWM Wheel). IMPORTANT NOTE: Should you select either of the two RC modes, the LSS Config software will no longer be able to communicate with the servo. You must use the button menu to return to LSS serial mode (hold the button, release, press twice).
RB1 14.1 138
Coleman Benson 161.1 139 == Telemetry Graph ==
RB1 3.1 140
RB1 167.1 141 The sensor graphing feature of the software allows you to select, display and record, with respect to time, the output from all of the servo's sensors.
RB1 3.3 142
RB1 139.1 143 {{lightbox image="lss-config-telemetry-graph.png" width="521"/}}
RB1 3.1 144
Coleman Benson 95.1 145 x-Axis: seconds
146
RB1 140.1 147 * Position: blue
148 * Speed: green
149 * Current: red
150 * Voltage: yellow
151 * Temperature: gray
Coleman Benson 95.1 152
Coleman Benson 97.1 153 |(% style="width:76px" %)[[image:lss-config-visibility.jpg]]|(% style="width:488px" %)Sensor Feedback Visibility (ON)|(% style="width:137px" %)[[image:lss-config-visibility-off.jpg]]|(% style="width:777px" %)Sensor Feedback Visibility (OFF)
RB1 142.1 154 |(% style="width:76px" %)[[image:lss-config-display-query.jpg]]|(% style="width:488px" %)Query value (ON)|(% style="width:137px" %)[[image:lss-config-display-query-off.jpg]]|(% style="width:777px" %)Query value (OFF)
Coleman Benson 97.1 155 |(% style="width:76px" %)[[image:lss-config-play-icon.jpg]]|(% style="width:488px" %)Graphing (OFF)|(% style="width:137px" %)[[image:lss-config-play-icon-green.jpg]]|(% style="width:777px" %)Graphing (ON)
156 |(% style="width:76px" %)[[image:lss-config-pause-icon.jpg]]|(% style="width:488px" %)Pause queries (OFF)|(% style="width:137px" %)[[image:lss-config-pause-icon-yellow.jpg]]|(% style="width:777px" %)Pause Queries (ON)
157 |(% style="width:76px" %)[[image:lss-config-record-icon.jpg]]|(% style="width:488px" %)Record Sensor Queries (Not Recording)|(% style="width:137px" %)[[image:lss-config-record-icon-red.jpg]]|(% style="width:777px" %)Record Sensor Queries (Recording)
158 |(% style="width:76px" %)[[image:lss-config-stop-icon.jpg]]|(% style="width:488px" %)Reset Graph|(% style="width:137px" %) |(% style="width:777px" %)
159 |(% style="width:76px" %)[[image:lss-config-export-graph-icon.jpg]]|(% style="width:488px" %)Export recording to .csv (comma separated values)|(% style="width:137px" %) |(% style="width:777px" %)(((
RB1 167.1 160 Export popup appears providing three options:
Coleman Benson 97.1 161
RB1 167.1 162 1) Export only recorded data ("YES") 2) Export all data (click "NO") 3) Cancel export
Coleman Benson 97.1 163 )))
164 |(% style="width:76px" %)[[image:lss-config-temperature-celcius.jpg]]|(% style="width:488px" %)Temperature Units (Celcius)|(% style="width:137px" %)[[image:lss-config-temperature-faren.jpg]]|(% style="width:777px" %)Temperature Units (Fahrenheit)
165 |(% style="width:76px" %)[[image:lss-config-marker-circle.jpg]]|(% style="width:488px" %)Marker Icon Style (Circle)|(% style="width:137px" %)[[image:lss-config-marker-diamond.jpg]] [[image:lss-config-marker-square.jpg]]|(% style="width:777px" %)Marker Icon Style (Diamond / Square)
166 |(% style="width:76px" %)[[image:lss-config-10s.jpg]]|(% style="width:488px" %)Time Window (10s)|(% style="width:137px" %)(((
Coleman Benson 161.1 167 [[image:lss-config-30s.jpg]] [[image:lss-config-60s.jpg]]
Coleman Benson 95.1 168 [[image:lss-config-300s.jpg]] [[image:lss-config-infs.jpg]]
Coleman Benson 97.1 169 )))|(% style="width:777px" %)Time Window (30s / 60s / 300s / Total)
Coleman Benson 95.1 170
RB1 167.1 171 (% class="wikigeneratedid" %)
172 Note that when multiple servos are connected, and the user changes between servos, the telemetry graph is not cleared (use the reset graph button).
173
174 (% class="wikigeneratedid" %)
175 Occasionally the telemetry values may all simultaneously drop to zero for one reading, or skip a point due to other processes taking priority.
176
Coleman Benson 161.1 177 == Command Line ==
RB1 3.1 178
RB1 159.1 179 {{lightbox image="lss-config-terminal-0001" width="521"/}}
Eric Nantel 157.1 180
RB1 167.1 181 The custom command line interface both allows you to communicate directly with an individual servo, send commands to it (and view replies), as well as get responses to queries from the software. When "LSS-All (254; ~-~--k)" is selected in the list of servos, the Command Line is used to send the same action or configuration command to all servos on the bus. For example, typing D1800 and pressing enter will send that same position command to each of the servos on the bus.
RB1 3.1 182
RB1 167.1 183 Within the command interface, you might see the following:
184
Coleman Benson 97.1 185 |(% style="width:114px" %)**>>**|(% style="width:1364px" %)Command sent to the servo
186 |(% style="width:114px" %)**<<**|(% style="width:1364px" %)Reply from the servo
187 |(% style="width:114px" %)**INF ::**|(% style="width:1364px" %)Information
188 |(% style="width:114px" %)**[bootloader]**|(% style="width:1364px" %)Information specific to bootloader
189 |(% style="width:114px" %)**]]**|(% style="width:1364px" %)Failure
RB1 20.1 190
RB1 167.1 191 The command line also auto-completes each command by automatically inserting "#[ID] before each command. For example, rather than typing #4D230<cr>, you need only type D230 and the software will automatically add #4
RB1 20.1 192
RB1 167.1 193 Left clicking a line within the command prompt, then right clicking using your mouse highlights that line in a green border and allows it to be copied to the clipboard and pasted into another document. Scrolling is opposite that to browser navigation.
RB1 20.1 194
RB1 167.1 195 The mouse wheel can be used to scroll and the holding the middle mouse button down allows for panning over the terminal area (useful if text extends to the right).
Eric Nantel 162.1 196
197 = Tutorials =
198
RB1 167.1 199 * [[doc:lynxmotion-smart-servo.lss-configuration-software.lss-config-configure-ids.WebHome]]
200 * [[doc:lynxmotion-smart-servo.lss-configuration-software.lss-config-firmware-update.WebHome]]
Copyright RobotShop 2018