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?
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.
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)
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…
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.
>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!
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!
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.)
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.
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.
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.