add git ignore and empty code base master
authorMeryem Esa <meresa14@gmail.com>
Tue, 11 Oct 2016 03:03:36 +0000 (20:03 -0700)
committerMeryem Esa <meresa14@gmail.com>
Tue, 11 Oct 2016 03:03:36 +0000 (20:03 -0700)
.gitignore [new file with mode: 0755]
src/org/usfirst/frc/team3501/robot/OI.java [new file with mode: 0755]
src/org/usfirst/frc/team3501/robot/Robot.java [new file with mode: 0755]
src/org/usfirst/frc/team3501/robot/RobotMap.java [new file with mode: 0755]
src/org/usfirst/frc/team3501/robot/commands/ExampleCommand.java [new file with mode: 0755]
src/org/usfirst/frc/team3501/robot/subsystems/ExampleSubsystem.java [new file with mode: 0755]

diff --git a/.gitignore b/.gitignore
new file mode 100755 (executable)
index 0000000..d4207d7
--- /dev/null
@@ -0,0 +1,48 @@
+# -*- mode: gitignore; -*-
+*~
+\#*\#
+.\#*
+*.pydevproject
+.metadata
+.gradle
+bin/
+tmp/
+*.tmp
+*.bak
+*.swp
+*~.nib
+local.properties
+.settings/
+.loadpath
+
+
+# Eclipse Core
+.project
+
+# External tool builders
+.externalToolBuilders/
+
+# Locally stored "Eclipse launch configurations"
+*.launch
+
+# CDT-specific
+.cproject
+
+# JDT-specific (Eclipse Java Development Tools)
+.classpath
+
+# PDT-specific
+.buildpath
+
+# sbteclipse plugin
+.target
+
+# TeXlipse plugin
+.texlipse
+
+# custom stuff that seems unnecessary
+build/
+dist/
+sysProps.xml
+build.xml
+build.properties
\ No newline at end of file
diff --git a/src/org/usfirst/frc/team3501/robot/OI.java b/src/org/usfirst/frc/team3501/robot/OI.java
new file mode 100755 (executable)
index 0000000..cc19f01
--- /dev/null
@@ -0,0 +1,38 @@
+package org.usfirst.frc.team3501.robot;
+
+import edu.wpi.first.wpilibj.buttons.Button;
+import org.usfirst.frc.team3501.robot.commands.ExampleCommand;
+
+/**
+ * This class is the glue that binds the controls on the physical operator
+ * interface to the commands and command groups that allow control of the robot.
+ */
+public class OI {
+    //// CREATING BUTTONS
+    // One type of button is a joystick button which is any button on a joystick.
+    // You create one by telling it which joystick it's on and which button
+    // number it is.
+    // Joystick stick = new Joystick(port);
+    // Button button = new JoystickButton(stick, buttonNumber);
+    
+    // There are a few additional built in buttons you can use. Additionally,
+    // by subclassing Button you can create custom triggers and bind those to
+    // commands the same as any other Button.
+    
+    //// TRIGGERING COMMANDS WITH BUTTONS
+    // Once you have a button, it's trivial to bind it to a button in one of
+    // three ways:
+    
+    // Start the command when the button is pressed and let it run the command
+    // until it is finished as determined by it's isFinished method.
+    // button.whenPressed(new ExampleCommand());
+    
+    // Run the command while the button is being held down and interrupt it once
+    // the button is released.
+    // button.whileHeld(new ExampleCommand());
+    
+    // Start the command when the button is released  and let it run the command
+    // until it is finished as determined by it's isFinished method.
+    // button.whenReleased(new ExampleCommand());
+}
+
diff --git a/src/org/usfirst/frc/team3501/robot/Robot.java b/src/org/usfirst/frc/team3501/robot/Robot.java
new file mode 100755 (executable)
index 0000000..ebc8483
--- /dev/null
@@ -0,0 +1,108 @@
+
+package org.usfirst.frc.team3501.robot;
+
+import edu.wpi.first.wpilibj.IterativeRobot;
+import edu.wpi.first.wpilibj.command.Command;
+import edu.wpi.first.wpilibj.command.Scheduler;
+import edu.wpi.first.wpilibj.livewindow.LiveWindow;
+import org.usfirst.frc.team3501.robot.commands.ExampleCommand;
+import org.usfirst.frc.team3501.robot.subsystems.ExampleSubsystem;
+import edu.wpi.first.wpilibj.smartdashboard.SendableChooser;
+import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
+
+/**
+ * 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 {
+
+       public static final ExampleSubsystem exampleSubsystem = new ExampleSubsystem();
+       public static OI oi;
+
+    Command autonomousCommand;
+    SendableChooser chooser;
+
+    /**
+     * This function is run when the robot is first started up and should be
+     * used for any initialization code.
+     */
+    public void robotInit() {
+               oi = new OI();
+        chooser = new SendableChooser();
+        chooser.addDefault("Default Auto", new ExampleCommand());
+//        chooser.addObject("My Auto", new MyAutoCommand());
+        SmartDashboard.putData("Auto mode", chooser);
+    }
+       
+       /**
+     * This function is called once each time the robot enters Disabled mode.
+     * You can use it to reset any subsystem information you want to clear when
+        * the robot is disabled.
+     */
+    public void disabledInit(){
+
+    }
+       
+       public void disabledPeriodic() {
+               Scheduler.getInstance().run();
+       }
+
+       /**
+        * This autonomous (along with the chooser code above) shows how to select between different autonomous modes
+        * using the dashboard. The sendable chooser code works with the Java SmartDashboard. If you prefer the LabVIEW
+        * Dashboard, remove all of the chooser code and uncomment the getString code to get the auto name from the text box
+        * below the Gyro
+        *
+        * You can add additional auto modes by adding additional commands to the chooser code above (like the commented example)
+        * or additional comparisons to the switch structure below with additional strings & commands.
+        */
+    public void autonomousInit() {
+        autonomousCommand = (Command) chooser.getSelected();
+        
+               /* String autoSelected = SmartDashboard.getString("Auto Selector", "Default");
+               switch(autoSelected) {
+               case "My Auto":
+                       autonomousCommand = new MyAutoCommand();
+                       break;
+               case "Default Auto":
+               default:
+                       autonomousCommand = new ExampleCommand();
+                       break;
+               } */
+       
+       // 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();
+    }
+    
+    /**
+     * This function is called periodically during test mode
+     */
+    public void testPeriodic() {
+        LiveWindow.run();
+    }
+}
diff --git a/src/org/usfirst/frc/team3501/robot/RobotMap.java b/src/org/usfirst/frc/team3501/robot/RobotMap.java
new file mode 100755 (executable)
index 0000000..e3af2fd
--- /dev/null
@@ -0,0 +1,18 @@
+package org.usfirst.frc.team3501.robot;
+/**
+ * The RobotMap is a mapping from the ports sensors and actuators are wired into
+ * to a variable name. This provides flexibility changing wiring, makes checking
+ * the wiring easier and significantly reduces the number of magic numbers
+ * floating around.
+ */
+public class RobotMap {
+    // For example to map the left and right motors, you could define the
+    // following variables to use with your drivetrain subsystem.
+    // public static int leftMotor = 1;
+    // public static int rightMotor = 2;
+    
+    // If you are using multiple modules, make sure to define both the port
+    // number and the module. For example you with a rangefinder:
+    // public static int rangefinderPort = 1;
+    // public static int rangefinderModule = 1;
+}
diff --git a/src/org/usfirst/frc/team3501/robot/commands/ExampleCommand.java b/src/org/usfirst/frc/team3501/robot/commands/ExampleCommand.java
new file mode 100755 (executable)
index 0000000..6078f14
--- /dev/null
@@ -0,0 +1,39 @@
+
+package org.usfirst.frc.team3501.robot.commands;
+
+import edu.wpi.first.wpilibj.command.Command;
+
+import org.usfirst.frc.team3501.robot.Robot;
+
+/**
+ *
+ */
+public class ExampleCommand extends Command {
+
+    public ExampleCommand() {
+        // Use requires() here to declare subsystem dependencies
+        requires(Robot.exampleSubsystem);
+    }
+
+    // Called just before this Command runs the first time
+    protected void initialize() {
+    }
+
+    // Called repeatedly when this Command is scheduled to run
+    protected void execute() {
+    }
+
+    // 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() {
+    }
+}
diff --git a/src/org/usfirst/frc/team3501/robot/subsystems/ExampleSubsystem.java b/src/org/usfirst/frc/team3501/robot/subsystems/ExampleSubsystem.java
new file mode 100755 (executable)
index 0000000..1dc9a81
--- /dev/null
@@ -0,0 +1,19 @@
+
+package org.usfirst.frc.team3501.robot.subsystems;
+
+import edu.wpi.first.wpilibj.command.Subsystem;
+
+/**
+ *
+ */
+public class ExampleSubsystem extends Subsystem {
+    
+    // Put methods for controlling this subsystem
+    // here. Call these from Commands.
+
+    public void initDefaultCommand() {
+        // Set the default command for a subsystem here.
+        //setDefaultCommand(new MySpecialCommand());
+    }
+}
+