No Robot Code!!!

masoug et al,
A few of these issues have been plaguing teams and I saw a few up close at Champs that we were able to observe and rectify. Frayed/splayed wiring at the PD or at the Crio end of the power supply cable causes very intermittent breaks in the power supply line. On several robots, this eventually led to a no code or other error as the noise produced by the wiring eventually corrupted the Crio. Teams should know that a properly terminated power cable has no exposed copper and cannot be pulled out with a tug to each of the wires at both ends.

Unfortunately, I followed the steps:

  1. Check “No App” switch.
  2. Reformat/reimage cRIO. (v20)
  3. Run WindRiver updates. (4.3)](http://first.wpi.edu/FRC/frccupdates.html)
  4. Run driver station updates.
    **5) restart driverstation, restart cRIO, restart WindRiver
  5. rebuild (right click project, rebuild)**
  6. Load new code. Hope it works! :]

but it still did not work.

Does anyone have any suggestions? I am becoming very interested in the “Reset” button on the cRIO.

THANKS!

-Masoug

The reset button only forces a reboot as far as I know (just like the reset button on a desktop computer)

So you’ve done a full reformat of the cRIO? Have you tried a direct connection to a non-classmate computer running the DS software? You can load it by running the latest updater on any computer. If it still doesn’t work without using the classmate, then you most likely have a defective cRIO

Yep it just reboots the cRIO, we used it extensively. It is nice when the software crashes and you cannot use the DS reboot, and when you need to reboot fast, but don’t have the DS up.

What I am thinking happened the cRIO was damaged in some way (shaking? shock?) that somehow disturbed its system. Although the code works at first, when we update it the cRIO has an error we cannot detect.

As for this;

Yes we used the Imaging tool to load v20 onto the cRIO.

and

We haven’t tried that yet, but I think that is not the problem.
I believe that the cRIO has a configuration error that we cannot see, (I wish there is an SSH server on there) OR it is physically damaged.

THANKS!!!

-Masoug

I don’t know if you got NetConsole working (I never do), you can do a direct connection to the cRIO’s serial port with a NULL modem cable to your PC using 9600,n,8,1 (make sure the console debug DIP switch is enabled accordingly). I found this extremely useful because then you will see all the boot messages from the cRIO. If there is any code loading problem, it will show on your terminal console. There was an excellent thread somewhere talking about different causes of “No Robot Code”. I don’t remember which forum. You may want to search for it. It contains a lot of useful information.
Good luck.

you can do a direct connection to the cRIO’s serial port with a NULL modem cable to your PC using 9600,n,8,1 (make sure the console debug DIP switch is enabled accordingly).
I hope that I am not too weird on this, but could you explain this a little more? I am relatively a beginner. Thanks! -Masoug

On the cRIO, there is a 9-pin D connector. That’s a serial port. Right around it, there are 8-bit DIP switches. The 2nd position is labeled “Console Out”. Make sure console out is enabled. Here is more info about Console out:
http://digital.ni.com/public.nsf/allkb/354A5124E6A667988625701B004A77CD

You need a COM port on your PC. Unfortunately, new laptops no longer have COM ports, you may need a desktop PC or you need to get a USB to Serial adapter such as this:
http://www.newegg.com/Product/Product.aspx?Item=N82E16812191067&cm_re=USB_to_serial--12-191-067--Product
You also need a Null modem cable (i.e. pin 2 and 3 on both ends are swapped). The one that came with the KOP is not a null modem cable. You may need to get a null modem cable such as this:
http://www.newegg.com/Product/Product.aspx?Item=N82E16812191034&cm_re=null_modem_cable--12-191-034--Product
You also need a terminal software. If you are running XP, you can use hyperterm that came with Windows. You need to set the communication protocol to 9600 baud, 8 data bit, no parity bit and 1 stop bit (i.e. 9600, n, 8, 1). Once you have this set up, you should see messages spitting out from the cRIO while it boots. If your code failed to load, there will be an error message telling you why.

Finally, we figured out what the problem was. The WindRiver working directory was just on the desktop, so when WindRiver regenerated the makefiles, all the paths (library paths) didn’t correspond correctly, resulting in an undefined symbol error.

Thanks guys for helping me pinpoint the problem, so now we know what to look for when this happens.

-Masoug