Windriver wont communicate with cRIO

My team recently switched to using C++. We understand C++ itself just fine, but we seem to be having terrible luck trying to set up WindRiver.

Whenever we try to set up communications between WindRiver and the cRIO, it appears as though it is working for a little while, and then we get this:


(sorry if the image is a tad big, I’m kinda new to this)

We have tried reinstalling WindRiver several times, we have tried fixing the error by doing what it says to (which is very complicated, and doesn’t work)

Has anyone else seen this error before, or know how to fix it/what might be causing it?

Is your cRIO properly reformatted with the v43 image for C++ and configured for your team number (2879)? Is there a firewall blocking communication on the required port?

I made sure to allow everything through the firewall, and I thought we had Reimaged it correctly

But, just to be sure I tired re-imageing it again (just now, like, 30 seconds before your post appeared…)

I tried windriver again, and lo and behold it gives me an entirely new error:

any ideas?

That one I know. From the C++ Getting Started Guide (when you are on New Connection page in Wind River where you set the IP and kernel image):
Finally, click the “Select” button near the top right corner of the window. Click the “+” next to “MPC5xxx” to expand the choices. Select “MPC52xx” the click OK. Click “Finish” to create the connection.

OHHHHH MAI GHAWD!!! THANKS!!!

That fixes the connection… which should also fix the debugging and the deploying… (although, ye can never be too sure…)

Once again, THANKS!!!

now I can test all the code I wrote to occupy myself while I was waiting for help with this… :smiley:

Ok… so…
Your suggestion DID fix the communications with the cRIO…
And when I run debug, I just get a “warning” about something insignificant.
But when I deployed the code, and tried out the DS, it says no robot code.

I read that I am supposed to deploy the .OUT file, but I couldn’t find it in the folder that it builds to, so I assumed I should just try to use the MakeFile
(Ima guess that that is the wrong file to use)

where should I look to find the .OUT file?

EDIT: Never mind. I figured it out.

What did you figure out. We’re dying to know, as the only thing we’re seeing is a Make file as well. How did you get a .out file? (or where did you find it?)

Well… You head on over to the folder that has the Make file (names PNGGU8227 or something, you know what I mean…) Then there should be a folder named simpletemplate, then one named debug, just keep going that direction until you find “simpletemplate.out” (It will be named this no matter what your project is named).

Sorry if this isn’t detailed enough, I’m kinda almost late for school, and my laptop took awhile to boot… :frowning:

If you need a more detailed explanation, I’ll be online again later in the day, or perhaps some of the other people on CD will help you out.

Hope this helped!

>sigh<
Alas, no additional folder in with the make file. Our guess is that for some reason, the build never really completes. We can see the target, so don’t really know what’s going on. Guess we’ll just have to hope we can contact Brad Miller to see if he has any advice. Very frustrating to be this far into the build with nothing to program with!

Thanks,
Steve

Hmm…I know what you mean about not being able to program anything… It kinda sucks.

Anyways, here is the exact path that I found our .OUT file under:

C:\WindRiver\Workspace[project name]\PPC603gnu\SimpleTemplate\Debug\Simpletemplate.out

In terms of it not building fully, does it show any errors? or does it appear to have built successfully?

Finally got one of the other machines to create a .out file, and tried to run that. Now I have another weird situation. Driver’s station reports communication and code running, but nothing happens. I can see the battery voltage, but no PWM output. Tried running NetConsole and got the following output. Also tried putting in a printf, but got no output. So, I tried building the “Hello World” example program, and THAT doesn’t even work!

Sooo tired of this!!





Wow… thats a tad odd… never seen anything like it, but then again I’ve only been using C++ for about 3 weeks now…

So… it builds without errors… but it doesn’t do anything when its running on the robot? hmm…

Just gonna list a few simple things I’ve read about:

  • Make sure you Undeploy the old code before deploying the new code…derp…
  • When you formatted your cRIO, did it say all the modules were in the right spots?
  • do you get errors in diagnostics area of the driver station at all? because I have had code that built fine, but still had “errors”

if it would help at all I could send ya my robot code (I doubt it would help, but I might as well offer, ya never know)

Image deploys without a problem, Netconsole obviously is running fine, cRIO boots without reporting any errors.
We had tried running as deployed code, but same result. Undeploy and run in memory, we get this. Re-imaged to be sure NOTHING was resident, and tried running in memory. That’s when I took the screen shot. Driver’s station doesn’t report any errors, says code is running, and reports battery voltage. That’s all I get from it. (I did try enabling in both teleop and autonomous modes.)
:frowning:

Do you have a Digital Module present in slot 2? If so I would try re-imaging your cRIO.

Just an obvious question: Are you hitting enable?

WOOT!! The motors are moving!

Okay, it never occurred to us that the module positions would be different from the past few years. Combing through the Documentation, I Finally spotted the new module placement table! Moved the parallel module, re-imaged, and now the code is running. Still no printf output, but that’s for another thread I think.

BTW, the “Getting Started” guide shows the 8-slot as cRIO-FRCII, and “Gettting Started with C++” says Wind River wants us to use the cRIOFRC_vxworks image for the 8-slot (NOT the cRIOFRCII_vxWorks image). Talk about confusing.

Thanks to everyone for all your suggestions. It’s really appreciated!

Now we start on NetConsole and trying out CAN. Wish us luck.

Thanks,
Steve

I’m not sure if this will help at all, and its kind of redundant, but here is a video I made showing exactly what I do to load code to the robot.
(It excludes any of the connection setup, it’s just the deploying part)

Hope this provides some insight, but I think you probably understand all of this already… Just throwing it out here in case you accidentally missed something obvious (happens to me all the time, derp)

EDIT:
NVM! My internet is being stupid and I didn’t see that you had already solved it! Congtrats man!
BTW, that’s what I was talking about when I asked if the imaging tool said they were all OK, it should tell you where they are supposed to go, and whether you got em right or not. :stuck_out_tongue:

The imaging tool correctly identified our cRIO as an 8 slot unit, and identified which modules were sitting in which slots. Since what it showed was consistent with the hardware, it never occurred to me it might not actually like what it was seeing.

Thanks again for all the help

Steve

The imaging tool colors its display of the modules as either green or red, based on whether they are the right module for the slot or not.

Are you red/green color blind?

No, but when all the modules are shown in red, you don’t always realize there might be another color used.