Solenoid Breakout works when "run" but not at startup

I have my photo sensors powered from the solenoid breakout board. I wrote the code (in LabVIEW) such that they are set to “ON” all the time (in Teleop). Using the Developer account, I can run the code from LabVIEW and the solenoid outputs work properly; they are on (in Teleop, enabled). However, when I deploy the code to the cRIO and set it to run at startup, the solenoid channels do not turn on (in Teleop, code enabled). All other changes that I make in the code work the same either run from LabVIEW or deployed, but not the solenoids.

I’m going from memory, but here are the steps I use to deploy the code. I right click on RobotMain.vi, and click on Deploy. Once that finishes, I right click on the build specifications and click on set as startup. Once that finishes, the robot reboots. Once it’s up and running, I get all 3 green lights and enable the robot.

Any ideas what could be the difference from running the code directly from LabVIEW and deploying it? If it helps, I am using the new v27 cRIO image.

To permanently put your code on the robot:

  1. Right click on the build specification and choose “Build”
  2. Right click on the build specification and choose “Run as startup”

It sounds like you keep running an older version of the code that’s stored on the robot.

I will double check that.

That was my initial thought, but it appears that other changes I’ve made to the code work. I’ll look over it tonight and update with what I find.

Thanks!

Well, that did it! Apparently, I was mistaken in thinking that other code I added had worked. It’s a strange concept to think that you have to rebuild code before deploying it (inject sarcasm here). Whoops!

Thanks for your help.