Go to Post [in best Tom Hanks voice] Are you crying? ARE YOU CRYING? There's no crying! THERE'S NO CRYING IN ROBOTICS! - dlavery [more]
Home
Go Back   Chief Delphi > Technical > Programming > C/C++
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #16   Spotlight this post!  
Unread 26-04-2010, 19:48
byteit101's Avatar
byteit101 byteit101 is offline
WPILib maintainer (WPI)
AKA: Patrick Plenefisch
no team (The Cat Attack (Formerly))
Team Role: Programmer
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Worcester
Posts: 699
byteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of light
Re: No Robot Code!!!

Quote:
Originally Posted by masoug View Post
Okay, thanks for all the wonderful suggestions and comments, but there is too much going on. Lets answer each question one by one...

1) What are the Driver stations updates for? What do they do?
They update the driver station software. you should have it if you passed inspection at the competitions.
Quote:
Originally Posted by masoug View Post
2) What are the possible ways that trigger a "No Robot Code" error?
(I am pretty sure that we did not enable the "No App" switch, lets assume we didn't.)
There are many ways, but the two main ones are: no program on the robot, or undefined symbols (linker error)
Quote:
Originally Posted by masoug View Post
3) I have installed NetConsole on my computer (with LabView Runtime) and enabled the "NetConsole.out" in "ni-rt.ini" via FTP. I rebooted the robot but it still doesn't work... (auto-connect or not) Has anyone have this problem before?
4) What is supposed to come up upon booting (of cRIO) on the NetConsole?
5) What does updating the cRIO image do? Would it help?
Updates the libraries the cRIO has. YES IT WOULD HELP (assuming it is not v20 already)
Quote:
Originally Posted by masoug View Post

Thank you very much, I appreciate your help!

-Masoug
__________________
Bubble Wrap: programmers rewards
Watchdog.Kill();
printf("Watchdog is Dead, Celebrate!");
How to make a self aware robot: while (∞) cout<<(sqrt(-∞)/-0);
Previously FRC 451 (The Cat Attack)
Now part of the class of 2016 at WPI & helping on WPILib
Reply With Quote
  #17   Spotlight this post!  
Unread 26-04-2010, 21:50
Radical Pi Radical Pi is offline
Putting the Jumper in the Bumper
AKA: Ian Thompson
FRC #0639 (Code Red Robotics)
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2010
Location: New York
Posts: 655
Radical Pi has a spectacular aura aboutRadical Pi has a spectacular aura aboutRadical Pi has a spectacular aura about
Re: No Robot Code!!!

I'll get the ones the above didn't answer

Quote:
Originally Posted by masoug View Post
3) I have installed NetConsole on my computer (with LabView Runtime) and enabled the "NetConsole.out" in "ni-rt.ini" via FTP. I rebooted the robot but it still doesn't work... (auto-connect or not) Has anyone have this problem before?
haven't really heard of this happening. Most likely there is some error on the cRIO that is blocking it from sending properly

Quote:
Originally Posted by masoug View Post
4) What is supposed to come up upon booting (of cRIO) on the NetConsole?
NetConsole will show a nice long list of StartupLibs being initialized, talking about FRC_NetworkCommunication at the end, as well as other errors it may see (some important, some not), and some other small messages depending on what is in your code (camera errors come to mind. No consequence on the actual robot)

Quote:
Originally Posted by masoug View Post
5) What does updating the cRIO image do? Would it help?
If you update the image (even if you are at v20) it will do a complete reformat of the cRIO and wipe everything on it. That's probably a good idea right now since nothing seems to work. Be sure to remove any CAN libraries as they block updates
__________________

"To have no errors would be life without meaning. No strugle, no joy"
"A network is only as strong as it's weakest linksys"
Reply With Quote
  #18   Spotlight this post!  
Unread 27-04-2010, 15:39
masoug's Avatar
masoug masoug is offline
Food Consumer
FRC #0114
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2009
Location: Planet Earth
Posts: 78
masoug is an unknown quantity at this point
Exclamation Re: No Robot Code!!!

Thanks for all the wonderful suggestions and comments.
Here's my list so far...

1) What are the Driver stations updates for? What do they do? SOLVED
Thanks to byteit101
Quote:
Originally Posted by byteit101
They update the driver station software. you should have it if you passed inspection at the competitions.
2) What are the possible ways that trigger a "No Robot Code" error?
Quote:
Originally Posted by byteit101
There are many ways, but the two main ones are: no program on the robot, or undefined symbols (linker error)
Hmmm... Thanks, but what is a symbol? The linker wasn't able to successfully link the dynamic libraries correctly? (Incorrect correspondence between in-program link and the actual link library?)

3) I have installed NetConsole on my computer (with LabView Runtime) and enabled the "NetConsole.out" in "ni-rt.ini" via FTP. I rebooted the robot but it still doesn't work... (auto-connect or not) Has anyone have this problem before?

4) What is supposed to come up upon booting (of cRIO) on the NetConsole? SOLVED
Thanks to Radical Pi
Quote:
Originally Posted by Radical Pi
NetConsole will show a nice long list of StartupLibs being initialized, talking about FRC_NetworkCommunication at the end, as well as other errors it may see (some important, some not), and some other small messages depending on what is in your code (camera errors come to mind. No consequence on the actual robot)

5) What does updating the cRIO image do? Would it help? SOLVED
Thanks to Radical Pi
Quote:
Originally Posted by Radical Pi
If you update the image (even if you are at v20) it will do a complete reformat of the cRIO and wipe everything on it. That's probably a good idea right now since nothing seems to work. Be sure to remove any CAN libraries as they block updates
So apparently, this is my to-do list:
1) Check "No App" switch.
2) Reformat/reimage cRIO. (v20)
3) Run WindRiver updates. (4.3)
4) Run driver station updates.
5) Load new code. Hope it works!

Thank you guys, I learned a lot!

-Masoug
__________________

JabbaScript
Reply With Quote
  #19   Spotlight this post!  
Unread 27-04-2010, 15:41
masoug's Avatar
masoug masoug is offline
Food Consumer
FRC #0114
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2009
Location: Planet Earth
Posts: 78
masoug is an unknown quantity at this point
Exclamation Re: No Robot Code!!!

Thanks for all the wonderful suggestions and comments.
Here's my list so far...

1) What are the Driver stations updates for? What do they do? SOLVED
Thanks to byteit101
Quote:
Originally Posted by byteit101
They update the driver station software. you should have it if you passed inspection at the competitions.
2) What are the possible ways that trigger a "No Robot Code" error?
Quote:
Originally Posted by byteit101
There are many ways, but the two main ones are: no program on the robot, or undefined symbols (linker error)
Hmmm... Thanks, but what is a symbol? The linker wasn't able to successfully link the dynamic libraries correctly? (Incorrect correspondence between in-program link and the actual link library?)

3) I have installed NetConsole on my computer (with LabView Runtime) and enabled the "NetConsole.out" in "ni-rt.ini" via FTP. I rebooted the robot but it still doesn't work... (auto-connect or not) Has anyone have this problem before?

4) What is supposed to come up upon booting (of cRIO) on the NetConsole? SOLVED
Thanks to Radical Pi
Quote:
Originally Posted by Radical Pi
NetConsole will show a nice long list of StartupLibs being initialized, talking about FRC_NetworkCommunication at the end, as well as other errors it may see (some important, some not), and some other small messages depending on what is in your code (camera errors come to mind. No consequence on the actual robot)

5) What does updating the cRIO image do? Would it help? SOLVED
Thanks to Radical Pi
Quote:
Originally Posted by Radical Pi
If you update the image (even if you are at v20) it will do a complete reformat of the cRIO and wipe everything on it. That's probably a good idea right now since nothing seems to work. Be sure to remove any CAN libraries as they block updates
So apparently, this is my to-do list:
1) Check "No App" switch.
2) Reformat/reimage cRIO. (v20)
3) Run WindRiver updates. (4.3)
4) Run driver station updates.
5) Load new code. Hope it works!

Thank you guys, I learned a lot!

-Masoug
__________________

JabbaScript
Reply With Quote
  #20   Spotlight this post!  
Unread 27-04-2010, 17:17
byteit101's Avatar
byteit101 byteit101 is offline
WPILib maintainer (WPI)
AKA: Patrick Plenefisch
no team (The Cat Attack (Formerly))
Team Role: Programmer
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Worcester
Posts: 699
byteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of light
Re: No Robot Code!!!

Quote:
Originally Posted by masoug View Post
Hmmm... Thanks, but what is a symbol? The linker wasn't able to successfully link the dynamic libraries correctly? (Incorrect correspondence between in-program link and the actual link library?)
WPILib is compiled and on the robot. It exposes its functions, so you can compile your program with the WPILib headers on your computer, copy the program to the cRIO, and then the linker will move the references from the WPILib headers to the actual WPILib functions. If the linker cannot find the function you are calling, it will throw a undefined symbol error

If you call a old function from an old version of WPILib (assuming you have the right headers), it will compile fine, but linking will throw lots of symbol errors.

this can also be an artifact of a c++ feature: every cpp file is compiled by itself, and then linked together at the end, so when you change a file, only the changed file has to be recompiled. sometimes when you update, a file is not recompiled with the new changes, so it can also throw the error
the best way to twart this is to recompile the project (solved all of our symbol errors this year): right click the project and click rebuild
Quote:
Originally Posted by masoug View Post

So apparently, this is my to-do list:
1) Check "No App" switch.
2) Reformat/reimage cRIO. (v20)
3) Run WindRiver updates. (4.3)
4) Run driver station updates.
5) Load new code. Hope it works!
I would change that to:

1) Check "No App" switch.
2) Reformat/reimage cRIO. (v20)
3) Run WindRiver updates. (4.3)
4) Run driver station updates.
5) restart driverstation, restart cRIO, restart WindRiver
6) rebuild (right click project, rebuild)

7) Load new code. Hope it works!
__________________
Bubble Wrap: programmers rewards
Watchdog.Kill();
printf("Watchdog is Dead, Celebrate!");
How to make a self aware robot: while (∞) cout<<(sqrt(-∞)/-0);
Previously FRC 451 (The Cat Attack)
Now part of the class of 2016 at WPI & helping on WPILib
Reply With Quote
  #21   Spotlight this post!  
Unread 28-04-2010, 07:29
Unsung FIRST Hero
Al Skierkiewicz Al Skierkiewicz is offline
Broadcast Eng/Chief Robot Inspector
AKA: Big Al WFFA 2005
FRC #0111 (WildStang)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1996
Location: Wheeling, IL
Posts: 10,766
Al Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond repute
Re: 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.
__________________
Good Luck All. Learn something new, everyday!
Al
WB9UVJ
www.wildstang.org
________________________
Storming the Tower since 1996.
Reply With Quote
  #22   Spotlight this post!  
Unread 28-04-2010, 21:29
masoug's Avatar
masoug masoug is offline
Food Consumer
FRC #0114
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2009
Location: Planet Earth
Posts: 78
masoug is an unknown quantity at this point
Re: No Robot Code!!!

Unfortunately, I followed the steps:
Quote:
1) Check "No App" switch.
2) Reformat/reimage cRIO. (v20)
3) Run WindRiver updates. (4.3)
4) Run driver station updates.
5) restart driverstation, restart cRIO, restart WindRiver
6) rebuild (right click project, rebuild)

7) 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
__________________

JabbaScript
Reply With Quote
  #23   Spotlight this post!  
Unread 28-04-2010, 23:28
Radical Pi Radical Pi is offline
Putting the Jumper in the Bumper
AKA: Ian Thompson
FRC #0639 (Code Red Robotics)
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2010
Location: New York
Posts: 655
Radical Pi has a spectacular aura aboutRadical Pi has a spectacular aura aboutRadical Pi has a spectacular aura about
Re: No Robot Code!!!

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
__________________

"To have no errors would be life without meaning. No strugle, no joy"
"A network is only as strong as it's weakest linksys"
Reply With Quote
  #24   Spotlight this post!  
Unread 29-04-2010, 15:00
byteit101's Avatar
byteit101 byteit101 is offline
WPILib maintainer (WPI)
AKA: Patrick Plenefisch
no team (The Cat Attack (Formerly))
Team Role: Programmer
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Worcester
Posts: 699
byteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of lightbyteit101 is a glorious beacon of light
Re: No Robot Code!!!

Quote:
Originally Posted by Radical Pi View Post
The reset button only forces a reboot as far as I know (just like the reset button on a desktop computer)
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.
__________________
Bubble Wrap: programmers rewards
Watchdog.Kill();
printf("Watchdog is Dead, Celebrate!");
How to make a self aware robot: while (∞) cout<<(sqrt(-∞)/-0);
Previously FRC 451 (The Cat Attack)
Now part of the class of 2016 at WPI & helping on WPILib
Reply With Quote
  #25   Spotlight this post!  
Unread 29-04-2010, 15:00
masoug's Avatar
masoug masoug is offline
Food Consumer
FRC #0114
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2009
Location: Planet Earth
Posts: 78
masoug is an unknown quantity at this point
Re: No Robot Code!!!

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;
Quote:
Originally Posted by Radical Pi
So you've done a full reformat of the cRIO?
Yes we used the Imaging tool to load v20 onto the cRIO.

and
Quote:
Originally Posted by Radical Pi
Have you tried a direct connection to a non-classmate computer running the DS software?
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
__________________

JabbaScript
Reply With Quote
  #26   Spotlight this post!  
Unread 29-04-2010, 15:51
mikets's Avatar
mikets mikets is offline
Software Engineer
FRC #0492 (Titan Robotics)
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2008
Location: Bellevue, WA
Posts: 667
mikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of light
Re: No Robot Code!!!

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.
__________________
Reply With Quote
  #27   Spotlight this post!  
Unread 30-04-2010, 00:35
masoug's Avatar
masoug masoug is offline
Food Consumer
FRC #0114
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2009
Location: Planet Earth
Posts: 78
masoug is an unknown quantity at this point
Question Re: No Robot Code!!!

Quote:
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
__________________

JabbaScript
Reply With Quote
  #28   Spotlight this post!  
Unread 30-04-2010, 23:23
mikets's Avatar
mikets mikets is offline
Software Engineer
FRC #0492 (Titan Robotics)
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2008
Location: Bellevue, WA
Posts: 667
mikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of light
Re: No Robot Code!!!

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/all...25701B004A77CD

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/Produc...-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/Produc...-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.
__________________

Last edited by mikets : 30-04-2010 at 23:30.
Reply With Quote
  #29   Spotlight this post!  
Unread 06-05-2010, 14:54
masoug's Avatar
masoug masoug is offline
Food Consumer
FRC #0114
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2009
Location: Planet Earth
Posts: 78
masoug is an unknown quantity at this point
Re: No Robot Code!!!

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
__________________

JabbaScript
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
No Robot Code SidneySalvo NI LabVIEW 25 18-02-2010 17:09
No Robot Code After downloading Code tutkows1 FRC Control System 2 08-02-2010 00:51
No Robot Code eaglesfan10 C/C++ 6 03-02-2010 22:34
Compressor Code causes No Robot Code Error sircedric4 C/C++ 25 03-02-2010 10:13
No Robot Code mlim NI LabVIEW 10 21-01-2010 17:33


All times are GMT -5. The time now is 12:18.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi