View Single Post
  #2   Spotlight this post!  
Unread 02-19-2016, 05:07 PM
mikets's Avatar
mikets mikets is offline
Software Engineer
FRC #0492 (Titan Robotics)
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2008
Location: Bellevue, WA
Posts: 667
mikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of lightmikets is a glorious beacon of light
Re: How to do automatic action in the teleop?

Sure. Your autonomous action should be implemented using a state machine. The state machine should have a START state and a DONE state. In your teleop periodic, you check for a button and then start the state machine. You also add a statement to execute the state machine in your teleop periodic code. Something like this (this is pseudocode so it is not syntactically correct):
Code:
private int autoActionState = 0;  // 0 is the DONE state.

private void runAutoAction()
{
    switch (autoActionState)
    {
        case 1:
            // do step 1
            break;

        case 2:
            // do step 2
            break;
        ....
        ....
        default:
        case 0:
            // We are done, don't do anything.
            break;
    }
}

public void teleOp_Periodic()
{
    if (button 1 is pressed)
    {
        // Start the state machine.
        autoActionState = 1;
    }

    // doing other things.
    ....
    ....

    runAutoAction();
}
__________________
Reply With Quote