Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Java (http://www.chiefdelphi.com/forums/forumdisplay.php?f=184)
-   -   Autonomous Code Troubleshooting (http://www.chiefdelphi.com/forums/showthread.php?t=138602)

josephno1 16-10-2015 23:51

Autonomous Code Troubleshooting
 
An issue that I am currently having trouble with Autonomous is that it only performs the code once. For example if it hit enable, the code will run perfectly however once I Disable it and hit Enable again, the code will not run.

Here is the portion of code that is in question.

Code:

public class Robot extends IterativeRobot {
    /**
    * This function is run when the robot is first started up and should be
    * used for any initialization code.
    */
    public void robotInit() {
            Camera.USBCamInit(); //runs USB Camera
            Auto.move=true; //Sets a variable to be true in the Auto class

    }

    /**
    * This function is called periodically during autonomous
    */
    public void autonomousPeriodic() {
           
            Auto.trashCan(); //This is the autonomous task

    }

Code:

package org.usfirst.frc.team3647.robot;

import edu.wpi.first.wpilibj.Talon;
import edu.wpi.first.wpilibj.Timer;

public class Auto {
        //static boolean move= false;
        public static boolean move;
        public static void trashCan()
        {
                if (move){
               
                        TrashCanLifter.lifter.set(1);
                        Timer.delay(7);
                        TrashCanLifter.lifter.set(0);
                       
                        move=false;
                }
        }

}

The end goal that I want it to do is the run the autonomous portion every time I hit enable instead of the autonomous portion to only work the first time I hit Enable.

Thanks!

Caleb Sykes 17-10-2015 00:13

Re: Autonomous Code Troubleshooting
 
The problem with your code right now is that your move variable is set to true in robotInit but nowhere else. Since robotInit is only called when the roboRio first boots up, your auto code will only run once.

The fix that requires the least changes would probably be to put Auto.move=true into autonomousInit instead of robotInit. However, this may not be the smartest way to go depending on what else your code is doing.


All times are GMT -5. The time now is 10:22.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi