Log in

View Full Version : CANJaguar error with 2015 C++ port sendMessage


jreneew2
06-01-2015, 18:34
Hello again!

I have another error with the CANJaguar code when enabling the robot. All of our code compiles and deploys successfully, however, when we enable the robot our driver station spits out this error

Error on line 492 of CANJaguar.cpp: sendMessage
at /home/lvuser/FRCUserProgram() [0x17088]
at /home/lvuser/FRCUserProgram() [0x17250]
at /home/lvuser/FRCUserProgram() [0x187e8]
at /home/lvuser/FRCUserProgram() [0x16b64]
at /home/lvuser/FRCUserProgram() [0x1d9b4]
at /home/lvuser/FRCUserProgram() [0xf754]
at /home/lvuser/FRCUserProgram() [0x134f4]
at /home/lvuser/FRCUserProgram() [0x29f90]
at /home/lvuser/FRCUserProgram() [0x30e54]
at /home/lvuser/FRCUserProgram() [0xfdd8]
at /home/lvuser/FRCUserProgram() [0x155b4]
at /home/lvuser/FRCUserProgram() [0x1bbfc]
at /home/lvuser/FRCUserProgram() [0xfee4]
at __libc_start_main

And I went to look at CANJaguar at line 492 and this is the function:

void CANJaguar::sendMessage(uint32_t messageID, const uint8_t *data, uint8_t dataSize, int32_t period)
{
int32_t localStatus = sendMessageHelper(messageID | m_deviceNumber, data, dataSize, period);

if(localStatus < 0)
{
wpi_setErrorWithContext(localStatus, "sendMessage");
}
}

Do you guys have any ideas on what this error actually is and how we could fix it?

Thanks,
Drew

RufflesRidge
06-01-2015, 18:37
Have you updated the Jaguar to v109 firmware? Have you checked using the roboRIO webdash that the roboRIO can see the Jaguar you are trying to talk to and that the ID is what you expect?

jreneew2
06-01-2015, 18:41
Yeah, we have updated all of the jags to v109, however we cannot see the jags in the roboRIO panel. It only shows the PDP and the PCM. We have the roboRIO as the start of the CAN network and the terminator as one of the jags. We also have set the PDP terminator jumper switch to off, so it should be able to detect the jags after the PDP.

RufflesRidge
06-01-2015, 19:23
Yeah, we have updated all of the jags to v109, however we cannot see the jags in the roboRIO panel. It only shows the PDP and the PCM. We have the roboRIO as the start of the CAN network and the terminator as one of the jags. We also have set the PDP terminator jumper switch to off, so it should be able to detect the jags after the PDP.

If they don't show up in the webdashboard they won't work in your code either. That's the issue to solve first. It sounds like the most likely causes would be your convertor between the twisted pair and RJ connector is not wired correctly or your termination is not correct.

jreneew2
06-01-2015, 19:48
Thanks! I'll try that. Our meeting is over today so I don't have the robot on me at the moment. (I wish we could afford some talon srx's right now!)

:)

-Drew

PaulDavis1968
08-01-2015, 00:14
It was a wiring issue with the JAGs.

Thanks for the help.