Vision/AxisCamera2010.h

After the update to 4.2, WindRiver can’t find the Vision/AxisCamera2010.h file.

Without it I can’t use any of my camera code. I tried the work around suggested in other threads by Heydowns, but that didn’t change anything.

Could someone help me please?

Thanks,
Matt

Try this:


#include "Vision/AxisCamera.h"

At least you’ll be able to compile your code. But if you have been reading the threads here, the camera code is apparently broken in the latest software. YMMV.

yes, if you use the latest one, its broken without using a patch, if you updated to 4.1 just do what oddjob said.

Thanks, I got that working.

But now, my drivers station is telling me there is no robot code. I rebuilt the code, reimaged (v20 still), rebooted everything, and repeated. No luck. Any ideas?

Each time you reimage, you erase any user code that might be on the cRIO in the process. You have to put your program on the cRIO after loading the v20 image.

If you are running WPILib 4.1, then any use of the DriverStationLCD class will crash robot code, sending that error. If using 4.2, then use of the AxisCamera class will crash code. I know, it’s stupid

Nothing changed with the camera code between 4.1 and 4.2. 4.2 just recompiled to make a symbol be found. The camera code was pretty much completely rewritten for update 4.1, so expect to retrofit a few things here and there if you were already using it.

-Joe

if i may make a suggestion, if it is saying an unresolved symbol after the update why not use the FIRSTForge svn to just pull down the .h and .cpp files and put them directly into the project, much simpler than trying to patch a precompiled library in my opinion.

just my two cents though

if someone can’t find the needed files i think i could dig them out of my project and put them back to normal, just let me know

Joe,
The 4.2 precompiled WPILIB does not have the camera code in it. I duplicated this from the sources in firstforge. First, I checked out the latest sources, created a workbench project from them and did a build. That build had the DriverStationLCD kLineLength symbol problem. I got around this bug by moving the const declaration out of the DriverStationLCD class into the file scope. Then I did a build of the WPILIB again. The result of that build has the problem with the missing AxisCamera that many people are reporting. Thinking that there might be a problem with the make dependencies, I did a clean of the whole WPILIB project and rebuilt the whole thing. The library that resulted from this build does not have the kLineLength problem nor does it have the AxisCamera problem either.

My guess is that the WPILIB that is in the 4.2 release was built after changing only the DriverStationLCD code and the AxisCamera code was left out. Doing a clean build should resolve the problem.

Okay, so I’ve isolated my problem. It’s the axis camera.
Whenever I download code that uses the camera, the drivers station says “No robot code”

I’m not getting any error messages at all, it just doesn’t work.

Has anyone found a work around/patch/other solution? I need to do a lot of coding for my camera still…

P.S. does anyone know if WPI/FIRST is fixing this?

Brad at WPI is looking into this.

A work around was explained in the post before yours.

Could anyone go into a bit more detail on how to do this please? Thank you.

Easiest way is to get an account on FirstForge and get the source through svn. Windriver should be able to compile the code for WPILib and you just replace the current executable

I just rebuilt the library and posted it at:
http://first.wpi.edu/FRC/frccupdates.html

Please give it a try by installing the update and relinking. Let us know if it works.

Sorry for the confusion, I think we hit some limit in the library that’s making the build process somewhat unpredictable.

Downloaded and installed. I rebuilt and downloaded my project, and these three lines still crash my code (“No robot code”):

		AxisCamera &camera = AxisCamera::GetInstance();
		camera.WriteResolution(AxisCameraParams::kResolution_160x120);
		camera.WriteBrightness(0);

Any further suggestions?

attach a console to it so you can watch the boot progress, what error is it giving?

Could you walk me through attaching a console?

couple of ways to do it, one is flip the console out dip switch on the crio and attach to the serial port through a null modem to a computer that is running some console program (terminal.exe works or there is one built into windriver) second is to open up a net console, right click on the remote host in windriver (after connecting to it) then go to target tools and finally target console, a dialog box should pop up just hit ok,

i don’t know how well the target console will work to watch the crio boot though, might connect to late, there is another way to do it but i don’t know it so someone else will have to help you out with that
best of luck
Zme

Thanks. Downloaded and installed. It fixes the unresolved problems with the previous version. I’m not having the issues plaid is having. Plaid, perhaps confirm that your crio is running the v20 code by checking the version under the drive station diagnostics tab?