Unofficial RevRobotics Discussion/Support


#1

This is my first post in the New CD, let’s hope I do it right!

I am starting this thread as a DISCUSSION thread, not a complaint thread, nor a Rev bashing thread. This is not a substitute for official Rev Robotics Support, it is meant to be a community supported forum to help others quickly determine if others are experiencing a similar issue. If a solution can be provided, that is exactly what should happen.

So, as a first post, let me describe an issue I am currently working on with the Rev Robotics Support team.

The Spark Max Client installs and works perfectly fine on my Windows 10 desktop. Now, on my Windows 10 laptop, not so much.

The symptom is that when SMC launches on my laptop, it searches for an attached SparkMax controller, but never stops searching. Windows sees and identifies the SM exactly the same way on both systems.
I have tried with and without the Firewall running, with and without AV running. I have installed normally. I have installed as an Administrator. I have run it normally and as an Administrator. No matter what combination of things I have tried, it just keeps searching and never stops.

So, obviously the question is, has anyone seen this issue, and is there a known solution?


#2

I’m having the same issue. No idea why.


#3

Awesome, That actually makes me feel a lot better knowing that it’s not just me! Now my next request is that you reach out to Rev support. They need to know that it’s not just one person having this issue.
I’ve already communicated with them via email and on the phone. So they are aware of the issue exist, but knowing that it’s more widespread than one person will help get some light shed on the issue.


#4

I just downloaded the “new” 0.11.15 Client and tried it out.
Nope, it still gets stuck in the “Searching” mode.
Let’s hope Rev can figure this one out!


#5

One quick way to help us understand where this issue is coming from is to try and talk to the device using the command line interface (CLI), which is the same code/functionality that the client uses.

The CLI tool is in the installation directory of the client , for me that is C:\Users\Will\AppData\Local\Programs\spark-max-client

To use the tool, run sparkmax.exe using the command prompt to get the help text. For example, run the following to connect to the device and return the firmware version, or an error if one is returned.

> C:\Users\Will\AppData\Local\Programs\spark-max-client\sparkmax.exe firmware
> Firmware Version: v1.0.376

#6

Thanks Will.
With the SM attached, when I ran the command line above, I get an error indicating “…MSVCP120.dll was not found. Reinstalling the program may fix the problem.”
Reinstalling didn’t fix it, but at least now we know where the issue may be!
Thanks for the tip!
I will see if I can get MSVCP120.dll installed some other way, and reply here.


#7

After multiple failed attempts to replace the missing MSVCP120.DLL, including one that included a virus, I am going to give it a rest for now.
Hopefully REV will have a solution shortly.


#8

OK, here’s an update.
I was able to copy over the MSVCP120.DLL from a known good PC. After that, I uninstalled the SM Client and reinstalled it. SAME BEHAVIOR.

I then ran the same command line and no longer received the missing DLL message.

Here is a capture of the output from the command line.

PS C:\Program Files (x86)\REV Robotics\REV SPARK MAX Client> .“REV SPARK MAX Client”.exe /firmware
PS C:\Program Files (x86)\REV Robotics\REV SPARK MAX Client>
Checking for update
Error creating directory: Error: EEXIST: file already exists, mkdir ‘C:\Users\MrBill\AppData\Roaming\REV SPARK MAX Client’
Error: Error: net::ERR_INTERNET_DISCONNECTED
at GitHubProvider.getLatestVersion (C:\Program Files (x86)\REV Robotics\REV SPARK MAX Client\resources\app.asar\node_modules\electron-updater\src\providers\GitHubProvider.ts:39:25)
at C:\Program Files (x86)\REV Robotics\REV SPARK MAX Client\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:347:26
at Generator.next ()
at runCallback (timers.js:696:18)
at tryOnImmediate (timers.js:667:5)
at processImmediate (timers.js:649:5)
From previous event:
at NsisUpdater.getUpdateInfoAndProvider (C:\Program Files (x86)\REV Robotics\REV SPARK MAX Client\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:336:43)
at C:\Program Files (x86)\REV Robotics\REV SPARK MAX Client\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:363:31
at Generator.next ()
From previous event:
at NsisUpdater.doCheckForUpdates (C:\Program Files (x86)\REV Robotics\REV SPARK MAX Client\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:360:34)
at NsisUpdater.checkForUpdates (C:\Program Files (x86)\REV Robotics\REV SPARK MAX Client\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:220:35)
at NsisUpdater.checkForUpdatesAndNotify (C:\Program Files (x86)\REV Robotics\REV SPARK MAX Client\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:249:41)
at App.createWindow (C:\Program Files (x86)\REV Robotics\REV SPARK MAX Client\resources\app.asar\public\electron.ts:39:17)
at App.emit (events.js:187:15)
Unhandled rejection Error: net::ERR_INTERNET_DISCONNECTED
at GitHubProvider.getLatestVersion (C:\Program Files (x86)\REV Robotics\REV SPARK MAX Client\resources\app.asar\node_modules\electron-updater\src\providers\GitHubProvider.ts:39:25)
at C:\Program Files (x86)\REV Robotics\REV SPARK MAX Client\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:347:26
at Generator.next ()
at runCallback (timers.js:696:18)
at tryOnImmediate (timers.js:667:5)
at processImmediate (timers.js:649:5)
From previous event:
at NsisUpdater.getUpdateInfoAndProvider (C:\Program Files (x86)\REV Robotics\REV SPARK MAX Client\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:336:43)
at C:\Program Files (x86)\REV Robotics\REV SPARK MAX Client\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:363:31
at Generator.next ()
From previous event:
at NsisUpdater.doCheckForUpdates (C:\Program Files (x86)\REV Robotics\REV SPARK MAX Client\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:360:34)
at NsisUpdater.checkForUpdates (C:\Program Files (x86)\REV Robotics\REV SPARK MAX Client\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:220:35)
at NsisUpdater.checkForUpdatesAndNotify (C:\Program Files (x86)\REV Robotics\REV SPARK MAX Client\resources\app.asar\node_modules\electron-updater\src\AppUpdater.ts:249:41)
at App.createWindow (C:\Program Files (x86)\REV Robotics\REV SPARK MAX Client\resources\app.asar\public\electron.ts:39:17)
at App.emit (events.js:187:15)
Successfully started the SPARK server.


#9

From that same directory, instead of running "REV SPARK MAX Client.exe" /firmware can you run sparkmax.exe firmware


#10

OK, not sure of the differences, but I am getting a missing MSVCR120.dll error this time. This is a different dll. So, I will copy those over from my PC in a few minutes.

GREAT NEWS.

After copying over MSVCP120.dll and MSVCR120.dll from other computers, the SM Client appears to be working normally!!


#11

I appear to be running into the same issue. However after reinstalling the latest VC++ runtime on my teams 64-bit windows 10 laptop, and even trying to copy over the msvcp120.dll and msvcr120.dll I now get a popup stating “The application was unable to start correctly (0xc000007b). Click OK to close the program.”

Bringing up the normal UI it’s still searching for the Spark, though it appears on my system as a COM port. :man_shrugging:t2:


#12

I just wanted to update you that we are looking into this, but have not been able to recreate the exact issue. We are tracking it here


#13

The Microsoft VC++ runtimes are version specific. Therefore, installing the latest one (ie. 2017 or 2015) will not contain the correct DLL. MSVCR120.DLL is part of the VC++ 2013 redistributable.

Here is a link:
https://www.microsoft.com/en-us/download/details.aspx?id=40784

Have you tried downloading and specifically installing the 2013 version? Also, since the desktop version works and the laptop version does not work, check if the redistributable is installed on the desktop machine.


#14

That did it. Many thanks!:grin:


#15

Hey all, we’ve created the basic subsystems and commands required to drive the Spark MAXs, but now we are starting to get to the more difficult aspects - especially PID. For the last few years, we have used Motion Magic on the talons to control the speed of the motors. With the new Sparks, we have no idea how to use the CANPIDController or CANSparkMax classes to get an output of speed. The documentation seems to be lacking on their website, does anyone have any advice/code examples in Java?


#16

The VC++ 2013 redistributable worked for us as well. Thanks a bunch.


#17

REV should be able to include the runtime in their installer to ensure they’re not dependent on other installs. @Will_Toth are you the right person to talk to about getting this fixed? Its the zeromq dependency that requires that, and its an easy fix to do from your end.


#18

Yup, we’re working on adding this to the installer, thanks!


#19

I just want to check, but it seems that according to the API documentation. The Spark MAX’s can follow other speed controllers (e.g. TalnSRXs). I wanted to make sure that this applies in brushless mode. Can someone confirm or deny?

Potential application being a mixed drive train, where TalonSRX’s are controlling CIM’s and the Spark Max’s are controlling Neo’s.


#20

Unfortunately, the latest update to the Talon SRX firmware has changed how it implements followers. This means that the SPARK MAX cannot follow a Talon SRX at this time.

We are working on a solution, but I don’t yet have an ETA.