DS doesn't recognize robot code in startup application

I have a robot project that I’ve modified.
When I open up Robot Main and click the run arrow, it deploys, and the driver station recognizes the robot code. I can enable it. It works. (Well, autonomous seems to work better than teleop, but I think that’s just issues with the throughput of the CAN bus.)
I build and deploy it as a startup application, and say “yes” to the cRIO reboot. The DS connects, but it won’t recognize the robot code even after several minutes.

I make a new 2010 game competition project. The DS doesn’t recognize the code in the “open and run” or the startup application.

I’m pretty sure I need to reinstall some things, but I’m not sure to what extent. Is it just the FRC libraries?
(I’m guessing it’s not the DS, considering it hasn’t had any changes since the last DS update, and it works identically to the one on my own computer. However, after an accident with Linux and my partition table, I’ve had to reinstall Windows and LabVIEW and all on my Macbook. No more triple-booting for a while.)

Are you using
Deploy
or
Run as Startup
?

Is your reinstalled LabVIEW at the FRC Software Update 2.1 level?

Run as startup. :slight_smile:
I have version 20 of the LabVIEW update, which is the same as on my cRIO.

I don’t know what’s going on based on the information you’ve provided, but a good first step is to uninstall the FRC update and then reinstall it.

Let us know how it behaves after that.

-Joe

I reinstalled the FRC Core software, and now the default project works.
My modified project still doesn’t work when deployed as startup.
(I’m using the term “works” here to mean that the DS recognizes the code on the robot, as opposed to the non-working condition where it did not.)

Just out of curiosity, I created a VI and only put the StartCommunication.vi in it, created a real-time deployment, built it, and deployed it as startup. (This was done in my modified project.)
Just like with Robot Main, the DS connected, but wouldn’t recognize code.

Now, I did the same thing with the default project, and the driver station connected and recognized code.

Did you specify your Startup VIs in Properties?

You might want to add an infinite loop to your test vi project so it doesn’t StartCommunication, immediately consider itself done, and exit the second it starts…

StartCommunication is itself a loop, and uses a notifier to tell it when to end. (Stop Communication just sends that notifier)
And yes, I did specify it as a startup VI.
It’s a little disorienting to be answering these basic questions instead of asking them :slight_smile:

Is your modified project based on the new install? I.e. did you create the project that you modified after fixing the installation?

The way that the DS believes the robot code is running is by detecting that the robot code has told FRC_NetworkCommunication.out what the battery voltage is recently. StartCommunication.vi should be looping on (among other things) reading the battery voltage and sending it off. Can you check that this is happening?

-Joe

That was silly of me …:slight_smile:
Can’t think of a reason that isn’t basic, why such a simple vi built from scratch from a fresh installation won’t work.
You’ll just have to buy a new computer.

My project was modified before the complete reinstallation, after the complete reinstallation, and recompiled (I think) after the reinstallation of the FRC Core.

Just now I created a fresh project and recreated the code within this new project (I didn’t recreate the subVIs), and it works.
I suppose I won’t get anywhere wondering what the difference was.

More notes:
I have to reboot the controller after each deploy of the startup application. The dialog that comes up doesn’t seem to actually reboot the controller.
I vaguely remember there being an option in MAX as to whether a reboot request over software does a full reboot or not. Could this help?