Log in

View Full Version : error with NavX MXP connected to the Serial Port


Sparkyshires
15-04-2015, 20:50
Hey guys, title pretty much says it all. About two weeks ago, we installed the new NavX MXP and set it up. We downloaded their code from their github repo and we're using that. The only problem is that I'm not sure that I'm using it properly. I'm no expert in using the serial port on the roboRIO, and I have a feeling that something somewhere is going wrong. Does anybody know where this error might be coming from? our code is at https://github.com/Sparky384/Team384Year2015



Error on line 115 of SerialPort.cpp: HAL - VISA: Resource Locked
at /home/lvuser/FRCUserProgram() [0x23b4c]
at /home/lvuser/FRCUserProgram() [0x1194c]
at startRoutine(void*)


Thanks for your time! If you have any questions about the code feel free to ask them. All the relevant gyro calls are in the drivetrain subsystem file.

slibert
15-04-2015, 21:35
Hey guys, title pretty much says it all. About two weeks ago, we installed the new NavX MXP and set it up. We downloaded their code from their github repo and we're using that. The only problem is that I'm not sure that I'm using it properly. I'm no expert in using the serial port on the roboRIO, and I have a feeling that something somewhere is going wrong. Does anybody know where this error might be coming from? our code is at https://github.com/Sparky384/Team384Year2015



Error on line 115 of SerialPort.cpp: HAL - VISA: Resource Locked
at /home/lvuser/FRCUserProgram() [0x23b4c]
at /home/lvuser/FRCUserProgram() [0x1194c]
at startRoutine(void*)


Thanks for your time! If you have any questions about the code feel free to ask them. All the relevant gyro calls are in the drivetrain subsystem file.

Took a quick look at the code you've linked to. Looked around and couldn't find any code attempting to initialize the navX MXP. Looked in Subsystems\DriveTrain.cpp, but didn't see anything there except a Gyro instance.

Note that you need to use one of the classes in the navX MXP folder, not the Gyro class from the WPI Library (that only works w/the kit-of-parts gyro). See the example Robot.cpp file in the navX MXP folder for an example.

Perhaps the latest code is not checked in - or I'm looking in the wrong place. Can you please point me to the exact file and line number where the navX MXP initialization is occuring? Also, I didn't see a RobotMap.cpp file anywhere, though I did see RobotMap.h - maybe a sign not everything is checked in?

Joe Ross
15-04-2015, 22:45
Hey guys, title pretty much says it all. About two weeks ago, we installed the new NavX MXP and set it up. We downloaded their code from their github repo and we're using that. The only problem is that I'm not sure that I'm using it properly. I'm no expert in using the serial port on the roboRIO, and I have a feeling that something somewhere is going wrong. Does anybody know where this error might be coming from? our code is at https://github.com/Sparky384/Team384Year2015



Error on line 115 of SerialPort.cpp: HAL - VISA: Resource Locked
at /home/lvuser/FRCUserProgram() [0x23b4c]
at /home/lvuser/FRCUserProgram() [0x1194c]
at startRoutine(void*)


Thanks for your time! If you have any questions about the code feel free to ask them. All the relevant gyro calls are in the drivetrain subsystem file.

sPort = new SerialPort(57600,SerialPort::kMXP);
navX = new AHRS(sPort, 60);
imu = new IMU(sPort, 60);

You should choose either AHRS or IMU, not both.

Perhaps the latest code is not checked in - or I'm looking in the wrong place.

It's in the gyro branch.

Sparkyshires
16-04-2015, 09:26
Ok, thanks. Which one would you recommend? and if I delete the double initialization do you think that'll fix the error?

Sparkyshires
16-04-2015, 17:44
Hey guys, it worked! I deleted the AHRS initialization and it worked. The only other thing is that there is this other error message that I wasn't seeing cause it was drowned out by the first. It is this:


Error on line 143 of Command.cpp: A pointer parameter to a method is NULL: subsystem
at /home/lvuser/FRCUserProgram() [0x38884]
at /home/lvuser/FRCUserProgram() [0x1b078]
at /home/lvuser/FRCUserProgram() [0x17b34]
at /home/lvuser/FRCUserProgram() [0x1f6f4]
at /home/lvuser/FRCUserProgram() [0x16b78]
at /home/lvuser/FRCUserProgram() [0x1fa88]
at /home/lvuser/FRCUserProgram() [0x20ca8]
at /home/lvuser/FRCUserProgram() [0x16acc]
at __libc_start_main

Would you know what might be causing this?