EasyC: Execute code before autonomous

Hello,

Is there a way to execute code in a loop before the autonomous mode begins? I know that the help says you can not, but our team utilizes a dashboard, and it is very helpful to be able to send back the values of certain sensors to make sure they are working properly.

Does anyone have the experience with EasyC to help me out?

-Greg

Maybe a loop in the initilization routine?

Yes, just write the function you want to use and put it in intialize. It will execute any code in this function before the match starts. Check this thread out.

So my understanding is, I need to create a while loop in Initialize that loops as long as IsAutonomous == 0 and IsEnabled == 0? That sounds like a slightly hackish solution, since WPIlib must be checking these variables to call Autonomous and OperatorControl anyway.

You only need to call isEnabled to make sure the while loop ends and you don’t get stuck in initialize. Initialize is run every time you reset your robot to calibrate any sensors that may need it.


void Initialize ( void )
{
      while ( !IsEnabled() ) // while the robot is not enabled
      {
            if ( GetOIDInput ( 1 , 1 ) ) // If Trigger is Pulled Go Next Auto
            {
                  automode ++ ;
            }
            else if ( GetOIDInput ( 1 , 2 ) ) // If Thumb is pushed go prev automode
            {
                  automode -- ;
            }
            SetUserDisplay ( automode ) ; // send current automode to OI display
      }
}

Excellent. Thanks!

Shouldn’t that be:

 while ( !IsEnabled() ) // while the robot is not enabled
      {
            if ( GetOIDInput ( 1 , 1 ) ) // If Trigger is Pulled Go Next Auto
            {
                  automode ++ ;
            }
            else if ( GetOIDInput ( 1 , 2 ) ) // If Thumb is pushed go prev automode
            {
                  automode -- ;
            }
            SetUserDisplay ( automode ) ; // send current automode to OI display
      }

?

yeah forgot the ! fixed thanks.