forked from int0x191f2/ford-java
initial commit
This commit is contained in:
commit
e13943c378
7
.classpath
Normal file
7
.classpath
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<classpath>
|
||||||
|
<classpathentry kind="src" path="src"/>
|
||||||
|
<classpathentry kind="var" path="wpilib" sourcepath="wpilib.sources"/>
|
||||||
|
<classpathentry kind="var" path="networktables" sourcepath="networktables.sources"/>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||||
|
<classpathentry kind="output" path="bin"/>
|
||||||
|
</classpath>
|
18
.project
Normal file
18
.project
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>ford-java</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
<nature>edu.wpi.first.wpilib.plugins.core.nature.FRCProjectNature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
6
build.properties
Normal file
6
build.properties
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# Project specific information
|
||||||
|
package=org.usfirst.frc.team2059.robot
|
||||||
|
robot.class=${package}.Robot
|
||||||
|
simulation.world.file=/usr/share/frcsim/worlds/GearsBotDemo.world
|
||||||
|
#Uncomment and point at user libraries to include them in the build. Do not put libraries in the \wpilib\java folder, this folder is completely overwritten on plugin update.
|
||||||
|
#userLibs=${user.home}/wpilib/user/lib
|
30
build.xml
Normal file
30
build.xml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<project name="FRC Deployment" default="deploy">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The following properties can be defined to override system level
|
||||||
|
settings. These should not be touched unless you know what you're
|
||||||
|
doing. The primary use is to override the wpilib version when
|
||||||
|
working with older robots that can't compile with the latest
|
||||||
|
libraries.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- By default the system version of WPI is used -->
|
||||||
|
<!-- <property name="version" value=""/> -->
|
||||||
|
|
||||||
|
<!-- By default the system team number is used -->
|
||||||
|
<!-- <property name="team-number" value=""/> -->
|
||||||
|
|
||||||
|
<!-- By default the target is set to 10.TE.AM.2 -->
|
||||||
|
<!-- <property name="target" value=""/> -->
|
||||||
|
|
||||||
|
<!-- Any other property in build.properties can also be overridden. -->
|
||||||
|
|
||||||
|
<property file="${user.home}/wpilib/wpilib.properties"/>
|
||||||
|
<property file="build.properties"/>
|
||||||
|
<property file="${user.home}/wpilib/java/${version}/ant/build.properties"/>
|
||||||
|
|
||||||
|
<import file="${wpilib.ant.dir}/build.xml"/>
|
||||||
|
|
||||||
|
</project>
|
BIN
dist/FRCUserProgram.jar
vendored
Normal file
BIN
dist/FRCUserProgram.jar
vendored
Normal file
Binary file not shown.
38
src/org/usfirst/frc/team2059/robot/OI.java
Normal file
38
src/org/usfirst/frc/team2059/robot/OI.java
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
package org.usfirst.frc.team2059.robot;
|
||||||
|
|
||||||
|
import edu.wpi.first.wpilibj.buttons.Button;
|
||||||
|
import org.usfirst.frc.team2059.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());
|
||||||
|
}
|
||||||
|
|
108
src/org/usfirst/frc/team2059/robot/Robot.java
Normal file
108
src/org/usfirst/frc/team2059/robot/Robot.java
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
|
||||||
|
package org.usfirst.frc.team2059.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.team2059.robot.commands.ExampleCommand;
|
||||||
|
import org.usfirst.frc.team2059.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();
|
||||||
|
}
|
||||||
|
}
|
18
src/org/usfirst/frc/team2059/robot/RobotMap.java
Normal file
18
src/org/usfirst/frc/team2059/robot/RobotMap.java
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
package org.usfirst.frc.team2059.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;
|
||||||
|
}
|
@ -0,0 +1,39 @@
|
|||||||
|
|
||||||
|
package org.usfirst.frc.team2059.robot.commands;
|
||||||
|
|
||||||
|
import edu.wpi.first.wpilibj.command.Command;
|
||||||
|
|
||||||
|
import org.usfirst.frc.team2059.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() {
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
|
||||||
|
package org.usfirst.frc.team2059.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());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user