![]() |
No Robot Code
When we run code on the cRIO as a startup, it keeps switching between working and no robot code. Backstory in case it helps: first of all, we are using LabVIEW. For a while, we've been having minor wireless connection problems. We've been trying to solve them, but it wasn't a high priority. Yesterday, the connection started cutting out much more often and for longer. At the same time, the robot forgetting it had code entered the mix. We found that some of the IP addresses had been set wrong, and fixing that seems to have fixed the connection problems, but still the robot only remembers it has code on it about half the time.
|
Re: No Robot Code
Is this after a cRIO button-press reboot or after a circuit breaker robot power-up?
The reason I ask, is that the power-up means devices are booting up simultaneously, and the issue we've found is that if the bridge finishes after the cRIO, the bridge will not let the cRIO receive traffic. If the cRIO finishes booting last, or is reset when in this failure mode, the bridge will begin working again. If these symptoms match what you are seeing, an upcoming DS patch will work around the issue by periodically telling the bridge to redo its routing tables when it seems to be unresponsive. Greg McKaskle |
Re: No Robot Code
Actually, I don't think we've ever seen what you described. We never had a problem where the robot flatly wouldn't communicate; it just would stop communicating briefly at random intervals. To be more precise, what is happening with us currently is the robot will work for a second or two, then it will stop working for a second or two as the driver station says "no robot code". This cycle will repeat at frequent but random intervals for as long as the robot is on.
|
Re: No Robot Code
I'm not sure if I am having the same problem but I am stumped right now. When I turn on the classmate, the "communication" has a green light and the "stop button" has a green light but the "robot code" is still red. Underneath, it says "no robot code". What should i do??
|
Re: No Robot Code
Quote:
|
Re: No Robot Code
It definitely isn't a connection problem, since the communication is fine. In fact we fixed it. We reimaged the cRIO and the problem went away. Considering we also reimaged the cRIO yesterday and that solved nothing, we have no idea why this worked. But we're going to not look a gift horse in the mouth. Anyways, inexplicable stuff happens to our robot all the time.
As for you, HotBotz, I'm probably vastly underestimating your intelligence, but make sure you're loading your code so that it will run on startup. I don't even know if it's possible to do otherwise in languages other than LabVIEW, but it is possible there. That's the only advice I can think of. |
Re: No Robot Code
Allow me to correct myself: We fixed it temporarily. It was fine for a few days, then the problem came back. Reimaging it again made it work again, but we're sure it won't last. If anyone happens to know a permanent fix, we'd really like to not have to reimage the cRIO regularly just to keep it working.
|
Re: No Robot Code
We figured it out with another team, but thank you for responding. We had several kinks in our programming.
|
Re: No Robot Code
New information: it seems it is a communications problem. Yesterday the problem returned, and we have now reimaged the cRIO twice without fixing it. However, the code disappears much less when we are connecting directly to the cRIO than when we use wireless. It's a really weird connection problem, though, since the DS swears the connection to the cRIO is solid at all times. So it's apparently a connection problem such that the connection is never actually lost, and it's exacerbated by but not caused by connecting wirelessly rather than directly.
|
Re: No Robot Code
Oh, and also, we just recently started having wired communications issues. Sometimes when we hook us the DS to the cRIO the communication will work, and sometimes we will have to reboot the cRIO several times and/or switch cables to make it work. Once it works, though, it will continue to work for as long as it's hooked up. I have no idea if this is related to the no code problem or if our cRIO just hates us enough to give us multiple problems at the same time.
|
Re: No Robot Code
Hey there! We were struggling with similar issues for quite a while. First we would power on the robot and we could not get connection to the robot (but it was random, sometimes we would get it and other times we would not). And then after a while we started getting robot communications but it whenever we tried to download code it would come back up saying No code '[green] robot communications [red] robot code'.
I am not certain if our fixes can help you, but it is worth a try I hope! For the communications, it was just the fact that the cRio boots faster than the wireless on the robot, and we need to press the mini reset button on the cRio after the robot is up to get comms. (It sounds like you might be doing this already). For the robot code issue, we discovered there was an object (the DriverStationLCD to be specific) that would cause the code to not link or compile correctly. This was for C++, but possibly our problems could help you figure our yours. Keep posting! You will figure out the problem eventually! |
Re: No Robot Code
Thanks for the suggestion, but I don't think it's that. The code seems to compile just fine, and most of the time it runs just fine. When the cRIO doesn't work, it's still the same code running, so it doesn't seem to be the code. I also don't think that the necessity of reloading the code after reimaging the cRIO is what fixes it, since we load new versions of the code all the time, and at least once we loaded new code while the problem was happening and that didn't fix it.
|
Re: No Robot Code
By the way, the problem has ceased to go away when we reimage. It does not happen though with the default FIRST code, so it seems to be a code problem. However, it also doesn't happen with archived code from a week ago, even though it clearly should if it's a code problem.
|
Re: No Robot Code
Correction: yesterday the code from a week ago worked. Today it doesn't. Default still works though.
|
Re: No Robot Code
Reviewing the meaning of the LEDs may help a bit. The robot LED means that the robot IP ping succeeds. The communications LED means that the communications task on the cRIO is responding to the control packets being sent from the DS. Finally, the Robot Code light really means that the robot code is calling into the communications task often enough.
If the cRIO is vastly overtaxed by the code you are writing, it might behave the way you describe, where the WPI framework is not being updating the battery value and other fields as it is supposed to. I don't remember what language you are using, but if you can determine the CPU usage via spy or a similar tool, it may help you figure out what portion of code is responsible. Greg McKaskle |
| All times are GMT -5. The time now is 23:27. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi