Team 619 is having a problem downloading code from NetBeans. We find that code will not download unless we manually reboot the cRIO every time we make changes.
We turn on the cRIO, click Run, and NetBeans does its thing. The code compiles, the FTP connection to the cRIO is established, it reboots itself and waits twenty seconds, the connection is reestablished, Squawk starts, and we begin to see console output messages. This works fine.
Then we change something in the code. We stop the run (click the red stop button in NetBeans) and rebuild the code; it compiles just fine. We then click Run again. This time, after the FTP connection is established, NetBeans skips a bunch of steps: the cRIO never reboots, we don’t see Squawk messages, and no code is downloaded. It just skips straight to console output again, with the previous code still running. Whatever changes we made are not downloaded.
If we manually reboot the cRIO, clicking Run will download the latest code. The annoying thing is that the build script will still reboot the cRIO again automatically. After this, clicking run will no longer download new code until we manually reboot. So we effectively have to reboot the cRIO twice every time we download now.
I’m fairly certain this isn’t normal operation. Anyone have any ideas on how to solve this problem?
There will be an update shortly that will make this more robust. It turns out that if there is a lot of output from the cRIO console, then the sync with prompt will fail and you will need to reset cRIO.
Have patch on my machine, just need to get it out.
Just thought I’d say I think I’ve fixed this problem. You must stop all console output before downloading new code. If the cRIO is still writing to the console when you download, the build tool will never get the empty prompt it’s waiting for.
The fastest way we’ve found to ensure the “->” prompt after downloading code is to switch to autonomous then back to teleop – when teleop starts, it sends the prompt and then is able to restart itself.
Now, everytime we re-download code to the robot, we make sure we have the Driver Station opened in the Developer account, close out of it, then click run. Once Netbeans goes through all its stuff, reboots cRIO, etc. It will get to the line DisableInit() completed. From there you can re-open the FRC Driver Station and everything should work perfectly.