Wiki source code of LSS-PRO Configuration Software

Version 126.1 by Coleman Benson on 2024/07/12 11:55

Hide last authors
Eric Nantel 21.1 1 [[image:LSS-P-Configuration-Software.png||width="350"]]
Eric Nantel 12.1 2
Eric Nantel 122.1 3 [[[[image:[email protected]]]>>attach:LSS_PRO_Config_Setup.zip]]
Eric Nantel 1.2 4
5 **Table of Contents**
6
7 {{toc/}}
8
9 = Description =
Eric Nantel 21.1 10
Coleman Benson 117.1 11 The Lynxmotion Smart Servo PRO Configuration Software (“LSS PRO Config” for short) is intended to be a tool to quickly interact with the Lynxmotion Professional Smart Servos (LSS-P) loaded with proprietary Lynxmotion firmware. Features include sending action and configuration commands, queries (and receiving the reply), updating the firmware, monitoring sensor data and more. The software works on Windows 7 operating systems and above. The software is intended as a quick starting point to better understand the servo before developing custom applications using the human-readable communication protocol.
Eric Nantel 21.1 12
Eric Nantel 44.2 13 Note: The software can be connected to multiple servos, but the interface can only control and communicate with one at any time (unless using the free format commands described below). Each servo must have a unique ID. The servo(s) must be powered correctly and connected to the computer via USB from the first servo in the BUS.
Eric Nantel 23.1 14
Eric Nantel 44.2 15 = Features =
16
17 * Send action, configuration and query commands to an individual PRO servo
18 * Obtain visual feedback from various onboard sensors
19 * Create custom actions for testing purpose
20 * Update PRO servo’s firmware
21 * Auto-Update if connected to Internet
22
Eric Nantel 24.1 23 = User Guide =
24
Eric Nantel 116.1 25 This section provides step-by-step instructions and tips to help you get the most out of your LSS-P actuator. Whether you are setting up your hardware, configuring your servos, or troubleshooting, you'll find detailed information to assist you. Follow the guidelines below to ensure optimal performance and a smooth experience.
Eric Nantel 24.1 26
Eric Nantel 44.2 27 == Information ==
28
29 [[image:LSS-P-Config-Info.png]]
30
31 1. The Information (capital I) button at the top right of the interface leads to this user guide.
32
Eric Nantel 26.1 33 == Connection ==
34
Coleman Benson 118.1 35 In order for the LSS PRO Config software to detect the servos, the correct USB to serial drivers must be installed on the computer, and the servo must be powered. Windows will automatically detect and install the drivers.
Eric Nantel 44.2 36
37
Eric Nantel 32.1 38 [[image:LSS-P-Config-Connection.png]]
Eric Nantel 26.1 39
Eric Nantel 44.2 40 1. Select the appropriate COM port
41 1. Click on the "Connect" button (All servos in the communication BUS should be detected)
42 1. Select a particular servo from the list
Eric Nantel 30.1 43
Eric Nantel 44.2 44 Note: The interface will then display and control that single actuator.
Eric Nantel 30.1 45
Eric Nantel 67.1 46 == Safety & Useful Buttons ==
47
Eric Nantel 68.1 48 This section includes the important emergency stop (removes power from the motors via software) and other useful commands.
Eric Nantel 67.1 49
Eric Nantel 68.1 50 Note: Those commands are sent to the selected servo, if "254 - All servos" is selected then it will be sent to all of them.
51
Eric Nantel 67.1 52 [[image:LSS-P-Config-Buttons.png]]
53
Eric Nantel 68.1 54 1. This button sends a RESET command. More information [[HERE>>doc:ses-pro.lss-pro.lss-p-communication-protocol.WebHome||anchor="HReset"]]
Coleman Benson 121.1 55 1. This resets the servo to factory default settings, removing all configurations, including the ID. More information [[HERE>>doc:ses-pro.lss-pro.lss-p-communication-protocol.WebHome||anchor="HDefault26confirm"]]
56 1. This command stops the actuator at whatever angle it is (whether during a motion or already at an angle) and causes it to hold that position (motor is powered and holding). The following command is sent to all servos, not just the one connected via USB.
Eric Nantel 67.1 57 \\Command sent: #254H<cr>
58
59 1. (((
Coleman Benson 121.1 60 This command stops the actuator at whatever angle it is (whether during a motion or already at an angle) and causes it to hold that position (motor is powered and holding). The following command is sent to all servos, not just the one connected via USB.
Eric Nantel 67.1 61
62 Command sent: #254L<cr>
63
Coleman Benson 121.1 64 Just like the emergency stop button on the 36V large power supply (provided with each PRO arm), the E-Stop is meant to be used in emergency only since power is cut to all motors, which may result in joints rotating because of high counter-torque or forces being applied. In the case of a robotic arm, __the arm may fall and damage itself__ or whatever is in its environment.
Eric Nantel 67.1 65 )))
66
Eric Nantel 26.1 67 == Status ==
68
Coleman Benson 123.1 69 As a servo is intended to be moved to specific angles, the position of the servo, this section provides relevant angular and motion information to the user on what's happening with their actuator.
Eric Nantel 68.1 70
Eric Nantel 34.1 71 [[image:LSS-P-Config-Status.png]]
Eric Nantel 26.1 72
Coleman Benson 123.1 73 1. The position section shows the current angle of the output shaft of the servo in relation to its configured angular origin (0 degrees, including any adjustments using the Origin Offset command). It also displays angles to 0.01 degrees of accuracy, as well as below 0 degrees and over 360 degrees. It’s important to note any angle beyond 0 to 360 is a calculated, or "virtual" position as the internal sensor can only read 0 to 360 degrees. The multi-turn angle is retained even after a power cycle.
Eric Nantel 68.1 74 1. Status of what the actuator is currently doing. More information HERE
Coleman Benson 123.1 75 1. Error encountered. More information HERE
Eric Nantel 34.1 76
Coleman Benson 123.1 77 Note: Most errors will require that the cause of the problem to be solved before proceeding. The servo should either be Reset or set Limp. To view and resolve any errors, go to the troubleshooting section
Eric Nantel 44.2 78
Eric Nantel 49.2 79 == Servo Control ==
Eric Nantel 48.1 80
Eric Nantel 65.2 81 In order to view the various commands available for each drop-down, a PRO servo needs to be properly connected to the computer, powered, turned on and detected.
Eric Nantel 48.1 82
Eric Nantel 97.1 83 === Query ===
Eric Nantel 26.1 84
Eric Nantel 38.1 85 [[image:LSS-P-Config-Query.png]]
Eric Nantel 26.1 86
Eric Nantel 65.2 87 1. The drop down list below Query provides a list of most query commands possible. More information click HERE
Eric Nantel 38.1 88 1. Click the "Send" button to initiate the Query.
89 1. The Query protocol command will be displayed here as well as the answer from the actuator. (ex: #1QID / *1QID1)
90
Eric Nantel 49.2 91 === Action ===
Eric Nantel 26.1 92
Eric Nantel 38.1 93 [[image:LSS-P-Config-Action.png]]
Eric Nantel 26.1 94
Eric Nantel 65.2 95 1. The drop down list below Action provides a list of most action commands possible. More information click HERE.
Eric Nantel 38.1 96 1. Input the value of the Action required in the text input field. (ex: 9000 for a 90deg move)
97 1. Click the "Send" button to initiate the Action.
98 1. The Action protocol command will be displayed here and the actuator should be doing it.
99
Eric Nantel 49.2 100 === Configuration ===
Eric Nantel 26.1 101
Eric Nantel 38.1 102 [[image:LSS-P-Config-Config.png]]
Eric Nantel 26.1 103
Eric Nantel 65.2 104 1. The drop down list below Configuration provides a list of most configuration commands possible. More information click HERE.
Eric Nantel 49.1 105 1. Input the value of the Configuration required in the text input field. (ex: 1 for an ID change to 1)
Eric Nantel 38.1 106 1. Click the "Send" button to initiate the Configuration.
107 1. The Configuration protocol command will be displayed here.
108
Eric Nantel 48.1 109 === Free format command ===
110
Eric Nantel 65.2 111 This command line interface allows the user to send commands, including those not otherwise found in the drop-down list, as well as any special commands provided by Lynxmotion staff. Once sent the commands will be displayed in the area bellow (like a terminal) and can be cleared if required. This can help with debugging or better understanding the communication protocol.
Eric Nantel 48.1 112
113 [[image:LSS-P-Config-Free-Cmd.png]]
114
Eric Nantel 26.1 115 == Telemetry ==
116
Eric Nantel 53.1 117 A graph within the software is used to display output of any query commands, which can include sensor data or calculated data.
Eric Nantel 26.1 118
Eric Nantel 53.1 119 [[image:LSS-P-Config-Telemetry.png]]
Eric Nantel 52.1 120
Coleman Benson 125.1 121 1. To activate a specific value, click on the button once, and click again if you'd like to disable it. The software starts recording and displaying the data as soon as one query is activated.
122 1. Pressing Pause will stop recording until clicked again to resume.
123 1. Pressing Restart will wipe all the recorded values and start fresh.
124 1. The Y-axis of the graph auto-scales depending on what output is selected. To switch between traces, use the mouse wheel and confirm that the y axis label is the one you want.
125 1. The X-axis displays the time & expands up to 20 minutes then scrolls a 20 minute time window.
126 1. Saving the data is possible by right clicking on the graph and selecting Copy. It's then possible to paste the data in a spreadsheet application (Excel / Google Sheets).
Eric Nantel 52.1 127
Coleman Benson 125.1 128 === Personalized Query ===
Eric Nantel 52.1 129
Coleman Benson 125.1 130 To change the query for a specific button, "CTRL + CLICK" on the desired button and the following popup interface will be displayed:
Eric Nantel 40.1 131
132 [[image:LSS-P-Config-Telemetry-Custom.png]]
133
134 1. Trace Name: Displayed name for that particular query.
Coleman Benson 125.1 135 1. Two separate "Add" buttons with corresponding drop down menus are present which are shortcuts to add to the query in (3)
136 1. The specific Query that will be sent to the actuator plus displayed units for the interface.
Eric Nantel 40.1 137
Eric Nantel 26.1 138 == Custom Actions ==
139
Eric Nantel 64.1 140 This list of assignable buttons allows the user to select specific commands to send to the servo. These can be used to quickly position the servo to specific angles, experiment with different speeds and more.
Eric Nantel 26.1 141
Eric Nantel 64.1 142 [[image:LSS-P-Config-Custom-Actions.png]]
143
144 1. All of those buttons can be set to trigger any action required.
145 1. Save will let you do a backup of the current Custom Actions.
146 1. Load will let you select and load a previously saved Custom Action file.
147
Coleman Benson 126.1 148 === Personalized Action ===
Eric Nantel 65.1 149
Coleman Benson 126.1 150 To change the Action for a specific button, "CTRL + CLICK" on the desired button, and this interface will then be displayed:
Eric Nantel 64.1 151
152 [[image:LSS-P-Config-Custom-Actions-Custom.png]]
153
154 1. Action Name: Displayed name for that particular action.
Coleman Benson 126.1 155 1. Two separate "Add" button and corresponding drop down menus which are shortcuts to add to the action in (3)
Eric Nantel 64.1 156 1. Action command that will be sent to the actuator plus displayed units for the interface.
157
Eric Nantel 78.1 158 == Firmware Update ==
Eric Nantel 28.1 159
Eric Nantel 69.1 160 It is good to periodically check for firmware updates for the servos. A firmware update requires that the computer running the software be connected to the Internet.
Eric Nantel 61.1 161
Eric Nantel 69.1 162 Firmware updates can resolve bugs or add improvements. The information in this Wiki (for example the PRO Communication Protocol Page) will always refer to the latest version of firmware (though in certain instances will detail which firmware version of the firmware the feature or function started with).
Eric Nantel 61.1 163
164 [[image:LSS-P-Config-Firmware-Available.png]]
165
Eric Nantel 72.1 166 1. When a firmware update is available, the logo will turn green.
167
168 Note: Only a servo connected via USB can be updated and all the other servos on the bus will not be displayed with a green logo unless connected directly via USB.
169
Eric Nantel 78.1 170 === Online Update ===
Eric Nantel 72.1 171
Eric Nantel 90.1 172 1. Select the servo ID that requires a firmware update
Eric Nantel 72.1 173 1. If the logo is green, click on the "Firmware Update" button
174 1. A message will ask you if you want do download the latest firmware, click Yes.
Eric Nantel 82.1 175 [[image:LSS-P-Config-Firmware-Download-Yes.png||alt="LSS-P-Config-Firmware-Download.png"]]
Eric Nantel 72.1 176 1. It's pretty quick but once downloaded another message will ask you if you want to proceed click Yes.
Eric Nantel 92.1 177 [[image:LSS-P-Config-Firmware-Write-Acknowledge.png]]
Eric Nantel 72.1 178 1. The servo will be put in "Firmware Update" mode and flashing will start. A progress bar will show the progress. DO NOT UNPLUG / UNPOWER the servo while updating.
Eric Nantel 74.1 179 [[image:LSS-P-Config-Firmware-Uploading.png]]
Eric Nantel 77.1 180 1. Once the procedure is done you will have a confirmation pop-up.
181 [[image:LSS-P-Config-Firmware-Success.png]]
Eric Nantel 61.1 182
Eric Nantel 78.1 183 === Offline Update ===
Eric Nantel 72.1 184
Eric Nantel 77.1 185 In some rare occasions, our staff could ask you to try a firmware which they provided and here's how to flash it.
186
Eric Nantel 90.1 187 1. Select the servo ID that requires a firmware update
Eric Nantel 85.1 188 1. Click on the "Firmware Update" button and depending on the pop-up select as shown. 
Eric Nantel 90.1 189 [[image:LSS-P-Config-Firmware-Download-No.png||alt="LSS-P-Config-Firmware-Download.png"]] [[image:LSS-P-Config-Firmware-Write-Yes.png||alt="LSS-P-Config-Firmware-Local.png"]]
Eric Nantel 87.1 190 1. Browse and select & open the firmware file provided by our staff.
191 [[image:LSS-P-Config-Firmware-Local-Browse.png]]
192 1. Another message will ask you if you want to proceed click Yes.
Eric Nantel 92.1 193 [[image:LSS-P-Config-Firmware-Write-Acknowledge.png]]
Eric Nantel 77.1 194 1. The servo will be put in "Firmware Update" mode and flashing will start. A progress bar will show the progress. DO NOT UNPLUG / UNPOWER the servo while updating.
195 [[image:LSS-P-Config-Firmware-Uploading.png]]
196 1. Once the procedure is done you will have a confirmation pop-up.
Eric Nantel 61.1 197 [[image:LSS-P-Config-Firmware-Success.png]]
Eric Nantel 107.2 198
199 == Troubleshooting ==
200
Eric Nantel 108.1 201 === Connection Error ===
Eric Nantel 107.2 202
Eric Nantel 108.1 203 **LSS PRO device not found at this port!**
Eric Nantel 107.2 204
Eric Nantel 108.1 205 If the software does not detect any servos, this can be for multiple reasons:
206
207 * Forgot to connect the USB port to ONLY the first servo of the assembly
208 * Servo not connected to the power supply, or power supply not turned on.
209 * Wrong COM port selected in the software
210 * USB drivers have not been properly installed
211 * Advanced users may have written their own firmware (Arduino format) and uploaded it to the microcontroller within the servo. The PRO Config software cannot be used in this instance.
212
213 To resolve this issue:
214
215 * Ensure the power is ON. 
216 ** If you have the 30V power supply, ensure the switch is set to ON
217 ** If you have the 36V power supply, also ensure the switch is set to ON & E-Stop button is not pressed
218 * Verify the Device Manager in Windows to see if the COM port is present
219
220 === Software Issues ===
221
222 **Firmware update stalled / frozen**
223
224 If the LSS Config screen freezes during a firmware update or the process takes many minutes without an update.
225
226 To resolve this issue:
227
228 * Power cycle the servo, keeping it connected via USB to the computer.
229 * Restart the LSS PRO Config application
230 * The update should resume.
231
232 If the firmware was being updated using a local file (rare), then the Firmware Update button needs to be pressed again for the update process to restart.
233
234 **Interface freezes**
235
236 If the interface freezes for any reason outside of a Firmware update, end the Windows Task corresponding to the LSS Config via Windows’ Task Manager (accessible via shortcut by simultaneously pressing CTRL + SHIFT + ESC on the keyboard).
237
238 **Wrong Servo Detected**
239
240 If the display is showing the wrong servo detected (for example if you have a STANDARD servo connected, but it’s appearing as a MEGA), which should not happen, please reach out to RobotShop with details and instructions will be provided on how to correct this.
241
242 **Appearance**
243
244 If the appearance or aesthetics seem “off”, this may be due to the "Scale" factor in Windows 11, set it to 100%. 
245
Copyright RobotShop 2018