I can not get the Spark Max to generate an output to the motor

37 views
Skip to first unread message

Charlie Peppler

unread,
Apr 29, 2020, 12:17:20 AM4/29/20
to vmx-pi
OK, I've wrestled with this one for a while, and I'm stuck.

I have hooked up the Spark Max to both a healthy power supply, and the CAN bus connection to the VMX-pi.
I've terminated the open bus line with a resistor, and the outputs from the controller are hooked up to a 
Pololu motor.  I've tested the motor, and it works fine when connected directly to 12V.  The device ID is set 
to 1 on the CAN bus.  The firmware is up to date, and parameters are set to factory, brushed.

I have a simple robot program that instantiates the Spark motor as a brushed motor.  In teleop, I query the input voltage,
and it matches pretty closely to what I measure at the input. I can query the input voltage and print that out no problem.  

I've called a variety of functions, and they seem to return healthy values, so CAN communications seems to be working.

But, for the life of me, I can not get the Spark Max to generate an output voltage.  I am simply doing a 
"set" of the motor to the value of the Y joystick.  I'm printing that value out and I can see it change, that
value goes into the set call, but it generates no output.

The LED on the controller is a slow blinking yellow, which according to the docs means "Brushed, Coast, No Signal".

If I'm speaking to the controller on the CAN bus, what does "no signal" mean?

Thanks for any guidance,

Charlie

Scott Libert

unread,
Apr 29, 2020, 12:26:30 PM4/29/20
to vmx-pi
Please confirm if you are using the exact versions of JSON file and firmware - which are known to work - indicated in this page:

https://pdocs.kauailabs.com/vmx-pi/advanced/vmx-pi-wpi-library-beta/beta-documentation/access-frc-can-based-motor-controllers-from-vmx-pi/

PS we are seeing similar results to yours (slow blink led, “no signal”) with the latest firmware and the latest JSON vendordeps. We are working with REV to resolve the issue for the 2020 WPI Library version. It is apparently due to an issue with the “heartbeat” mechanism.

Charlie Peppler

unread,
Apr 29, 2020, 1:34:04 PM4/29/20
to vmx-pi
Scott,

Thank you for the insight.

What you say is consistent with the behavior I'm seeing.  Besides not generating any output to the motor, I was also getting random periodic 
timeouts (consistent with an "erratic heartbeat") on the console.

This may be the source of my problem.  I did indeed upgrade both the SparkMax firmware and vendor dependent library to the latest version (1.5.2).  My bad.

I will see if I can downgrade both to the older versions, and see what I get.

Charlie

Charlie Peppler

unread,
Apr 29, 2020, 2:16:39 PM4/29/20
to vmx-pi
Sure enough, that was it.  

RevRobotics does not make it easy to find older version firmware, but I did find and download it, and wrote it out to the controller
(after going through recovery mode).

I then downgraded the Spark Max vendor library, rebuilt, redeployed and.... 

...now the motor spins, and the LEDs are behaving.

I will be careful to stick here at these versions, until I hear otherwise.  I will also go easy on the SparkMax WPI API until everything syncs up.

Thank you Scott!

Scott Libert

unread,
Apr 29, 2020, 2:21:38 PM4/29/20
to vmx-pi
Glad to hear it; we'll keep you posted on our progress debugging the issue w/the latest firmware with REV (and CTRE).

Bradley BeMent

unread,
Sep 17, 2020, 12:53:01 PM9/17/20
to vmx-pi
A note to others who may stumble across this thread as I did.
1) The link referenced above for checking the exact versions of JSON file and firmware has been updated to:
2) At this point in time (9/17/2020)  SparkMax Firmware version 1.5.2 is required.  It might be inferred from the thread above that there is a problem with this firmware level, but this is the level currently specified on the VMX-pi website, and I have been using it with success.
Good Luck!
Reply all
Reply to author
Forward
0 new messages