View Single Post
  #3   Spotlight this post!  
Unread 16-11-2015, 15:21
origamitaco origamitaco is offline
Registered User
FRC #4328
 
Join Date: Nov 2015
Location: Richmond, TX
Posts: 35
origamitaco is an unknown quantity at this point
Re: Commands Stop Everything

Here's the command (LiftBox):

Code:
package org.usfirst.frc4328.Judy.commands;



import edu.wpi.first.wpilibj.command.Command;


import org.usfirst.frc4328.Judy.Robot;
import org.usfirst.frc4328.Judy.RobotMap;
//import edu.wpi.first.wpilibj.command.Scheduler;





/**
 *
 */
public class LiftBox extends Command {
	

    public LiftBox() {
        // Use requires() here to declare subsystem dependencies
        // eg. requires(chassis);
    	requires(Robot.judyelevator);
    	
    }

    // Called just before this Command runs the first time
    protected void initialize() {
    	
    }

    // Called repeatedly when this Command is scheduled to run
    protected void execute() {
    	
    	
    	
    		RobotMap.judyelevatorSpeedControllerElevtaor.set(1.0);
    		//RobotMap.judydrivetrainjudyrobotdrive.mecanumDrive_Cartesian(Robot.oi.joystick1.getX(), Robot.oi.joystick1.getY(), Robot.oi.joystick1.getTwist(), RobotMap.judygyroscopeGyro1.getAngle());
    	
    	
    }

    // Make this return true when this Command no longer needs to run execute()
    protected boolean isFinished() {
        return false;
    }

    // Called once after isFinished returns true
    protected void end() {
    }

    // Called when another command which requires one or more of the same
    // subsystems is scheduled to run
    protected void interrupted() {
    	end();
    }
}
And here is the Robot.java:
Code:
// RobotBuilder Version: 1.5
//
// This file was generated by RobotBuilder. It contains sections of
// code that are automatically generated and assigned by robotbuilder.
// These sections will be updated in the future when you export to
// Java from RobotBuilder. Do not put any code or make any change in
// the blocks indicating autogenerated code or it will be lost on an
// update. Deleting the comments indicating the section will prevent
// it from being updated in the future.


package org.usfirst.frc4328.Judy;

import edu.wpi.first.wpilibj.IterativeRobot;
//import edu.wpi.first.wpilibj.SpeedController;
import edu.wpi.first.wpilibj.command.Command;
import edu.wpi.first.wpilibj.command.Scheduler;
import edu.wpi.first.wpilibj.livewindow.LiveWindow;
import org.usfirst.frc4328.Judy.commands.*;
import org.usfirst.frc4328.Judy.subsystems.*;

/**
 * The VM is configured to automatically run this class, and to call the
 * functions corresponding to each mode, as described in the IterativeRobot
 * documentation. If you change the name of this class or the package after
 * creating this project, you must also update the manifest file in the resource
 * directory.
 */
public class Robot extends IterativeRobot {

    Command autonomousCommand;

    public static OI oi;
    // BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=DECLARATIONS
    public static judydrivetrain judydrivetrain;
    public static judyelevator judyelevator;
    public static judygyroscope judygyroscope;
    
    
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=DECLARATIONS

    /**
     * This function is run when the robot is first started up and should be
     * used for any initialization code.
     */
    public void robotInit() {
    RobotMap.init();
        // BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
        judydrivetrain = new judydrivetrain();
        judyelevator = new judyelevator();
        judygyroscope = new judygyroscope();
        // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
        // OI must be constructed after subsystems. If the OI creates Commands 
        //(which it very likely will), subsystems are not guaranteed to be 
        // constructed yet. Thus, their requires() statements may grab null 
        // pointers. Bad news. Don't move it.
        oi = new OI();

        // instantiate the command used for the autonomous period
        // BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=AUTONOMOUS
        autonomousCommand = new AutonomousCommand();
        // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=AUTONOMOUS
    }

    /**
     * This function is called when the disabled button is hit.
     * You can use it to reset subsystems before shutting down.
     */
    public void disabledInit(){

    }
    
   

    public void disabledPeriodic() {
        Scheduler.getInstance().run();
    }

    public void autonomousInit() {
        // schedule the autonomous command (example)
        if (autonomousCommand != null) autonomousCommand.start();
    }

    /**
     * This function is called periodically during autonomous
     */
    public void autonomousPeriodic() {
        Scheduler.getInstance().run();
    }

    public void teleopInit() {
        // This makes sure that the autonomous stops running when
        // teleop starts running. If you want the autonomous to 
        // continue until interrupted by another command, remove
        // this line or comment it out.
        if (autonomousCommand != null) autonomousCommand.cancel();
        
        
        
    }

    /**
     * This function is called periodically during operator control
     */
    public void teleopPeriodic() {
        Scheduler.getInstance().run();
        
        RobotMap.judydrivetrainjudyrobotdrive.mecanumDrive_Cartesian(oi.joystick1.getX(), oi.joystick1.getY(), oi.joystick1.getTwist(), RobotMap.judygyroscopeGyro1.getAngle());
        
        RobotMap.judyelevatorSpeedControllerElevtaor.set(oi.joystick2.getY());
    }

    /**
     * This function is called periodically during test mode
     */
    public void testPeriodic() {
        LiveWindow.run();
    }
}
And yes, our robot is named Judy (she has a large tail so you know... big booty Judy seemed to fit.) Also, I apologize for not putting it on GitHub, our school blocks it and I really don't feel like pulling another VPN from Japan or something.

Last edited by origamitaco : 16-11-2015 at 15:29. Reason: add code tags
Reply With Quote