I've tried doing the FRC lock reset for 3 victor spx's, in including the UnmanagedJNI code.
In addition to removing the FRC lock, it's very important that the RoboRIO is not on the CAN bus after the unlock, because it will immediately cause the device to be locked again. More info here
We've never tested some locked and some non-locked devices on the CAN bus at the same time, if you have four victor SPXs (one for each drive axle) it makes sense that all 4 should be unlocked.
I'd recommend starting simple with one and only one Victor SPX on the CAN bus, and building things up from there.
> The JNI code insertion seems to immediately disable and lose robot comm when the robot is enabled. I continue to get CAN Timeout errors.
Sounds like the robot application is crashing. Have you seen any logging in the driver station logs you can send us that would provide more information what's occurring when the robot is enabled?
In some cases, the error doesn't make it all the way back to the Driver Station. You can also find the internal logs on the Raspberry Pi, in the /var/local/kauailabs/log directory; these logs are always appended to each time the robot application runs.
These should help indicate what the problem is, because they'll have a stack trace if some sort of exception is being thrown.
> Are you able to reassign or check devices IDs, through something like Phoenix Tuner, when connected through the VMX-PI? I've ran the diagnostic server and it appears to complete okay but no devices show.
No, you will need to use the standard procedure (RoboRIO) to use Phonenix Tuner. They're the only CAN motor controller vendor that doesn't have a direct USB-attached tool to configure the motor controller.
You'll need to make sure the firmware version matches the Phoenix library version - you need the 2020 FRC version of firmware.
After you've verified the IDs and firmware vesrion, take the RoboRIO off the CAN bus, FRC unlock the CTRE devices, then power up the system.
I'd recommend focusing first on getting the motor controllers working first.
CTRE has guided us in the past that non-competition PCM firmware was necessary to use the PCM w/out RoboRIO, so we may need to sort through that.