Advertisement
Guest User

Untitled

a guest
Mar 24th, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.74 KB | None | 0 0
  1. package org.usfirst.frc.team6595.robot;
  2.  
  3. import edu.wpi.first.wpilibj.RobotDrive;
  4. import edu.wpi.first.wpilibj.SampleRobot;
  5. import edu.wpi.first.wpilibj.Spark;
  6.  
  7. import org.opencv.core.Mat;
  8.  
  9. import edu.wpi.cscore.CvSink;
  10. import edu.wpi.cscore.CvSource;
  11. import edu.wpi.cscore.UsbCamera;
  12. import edu.wpi.first.wpilibj.CameraServer;
  13. import edu.wpi.first.wpilibj.Joystick;
  14. import edu.wpi.first.wpilibj.PowerDistributionPanel;
  15. import edu.wpi.first.wpilibj.Timer;
  16. import edu.wpi.first.wpilibj.Victor;
  17. import edu.wpi.first.wpilibj.hal.PDPJNI;
  18. import edu.wpi.first.wpilibj.smartdashboard.SendableChooser;
  19. import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
  20.  
  21. public class Robot extends SampleRobot {
  22.     RobotDrive Terra = new RobotDrive(0, 1, 2, 3);
  23.     Joystick XboxController1 = new Joystick(0);
  24.     Spark hopperintake = new Spark(4);
  25.     Spark liftmecha = new Spark(7);
  26.     Spark geararm = new Spark(8);
  27.     Joystick XboxController2 = new Joystick(1);
  28.     final String BaselineAuto = "Baseline Auto";
  29.     final String CntrPegAuto = "Center Peg Auto";
  30.     SendableChooser<String> chooser = new SendableChooser<>();
  31.     PowerDistributionPanel PDP;
  32.    
  33.     public Robot() {
  34.         Terra.setExpiration(0.1);
  35.     }
  36.  
  37.     @Override
  38.     public void robotInit() {
  39.         chooser.addDefault("Baseline Auto", BaselineAuto);
  40.         chooser.addObject("Center Peg Auto", CntrPegAuto);
  41.         SmartDashboard.putData("Auto modes", chooser);
  42.         PDP = new PowerDistributionPanel();
  43.        
  44.         UsbCamera camera1 = CameraServer.getInstance().startAutomaticCapture();
  45.         camera1.setResolution(640, 480);
  46.         camera1.setFPS(30);
  47.        
  48.     }
  49.  
  50.     @Override
  51.     public void autonomous() {
  52.         String autoSelected = (String) chooser.getSelected();
  53.         System.out.println("Autonomous Mode selected: " + autoSelected);
  54.  
  55.         switch (autoSelected) {
  56.         case CntrPegAuto:
  57.             Terra.setSafetyEnabled(false);
  58.             Terra.drive(0.3, 0.0); // spin at half speed
  59.             Timer.delay(2.3); // for 2 seconds
  60.             Terra.drive(0.0, 0.0); // stop robot
  61.             break;
  62.         case BaselineAuto:
  63.         default:
  64.             Terra.setSafetyEnabled(false);
  65.             Terra.drive(0.3, 0.0); // drive forwards half speed
  66.             Timer.delay(2.5); // for 2 seconds
  67.             Terra.drive(0.0, 0.0); // stop robot
  68.             break;
  69.         }
  70.     }
  71.  
  72.     @Override
  73.     public void operatorControl() {
  74.         Terra.setSafetyEnabled(true);
  75.         while (isOperatorControl() && isEnabled()) {
  76.            
  77.             this.updateDashboard();
  78.            
  79.             PDP.clearStickyFaults();
  80.             Terra.tankDrive(-XboxController1.getRawAxis(1), -XboxController1.getRawAxis(5));
  81.            
  82.             if(XboxController2.getRawButton(3)) {
  83.                 hopperintake.set(-0.8);
  84.             }
  85.             else {
  86.                 hopperintake.stopMotor();
  87.             }
  88.            
  89.             if(XboxController2.getRawButton(4)) {
  90.                 hopperintake.set(0.8);
  91.             }
  92.             else {
  93.                 hopperintake.stopMotor();
  94.             }
  95.            
  96.             if(XboxController2.getRawButton(7)) {
  97.                 liftmecha.set(1);
  98.             }
  99.             else {
  100.                 liftmecha.stopMotor();
  101.             }
  102.             if(XboxController2.getRawButton(9)) {
  103.                 liftmecha.set(-1);
  104.             }
  105.             else {
  106.                 liftmecha.set(0);
  107.             }
  108.            
  109.             if (XboxController2.getRawButton(5)) {
  110.                 geararm.set(0.4);
  111.             }
  112.             else {
  113.                 geararm.stopMotor();
  114.             }
  115.            
  116.             if (XboxController2.getRawButton(6)) {
  117.                 geararm.set(-0.4);
  118.             }
  119.             else {
  120.                 geararm.stopMotor();
  121.             }
  122.            
  123.         /*  Thread t = new Thread(() -> {
  124.                
  125.                 boolean allowCam1 = false;
  126.                
  127.                 UsbCamera camera1 = CameraServer.getInstance().startAutomaticCapture(0);
  128.                 camera1.setResolution(320, 240);
  129.                 camera1.setFPS(30);
  130.                 UsbCamera camera2 = CameraServer.getInstance().startAutomaticCapture(1);
  131.                 camera2.setResolution(320, 240);
  132.                 camera2.setFPS(30);
  133.                
  134.                 CvSink cvSink1 = CameraServer.getInstance().getVideo(camera1);
  135.                 CvSink cvSink2 = CameraServer.getInstance().getVideo(camera2);
  136.                 CvSource outputStream = CameraServer.getInstance().putVideo("Switcher", 320, 240);
  137.                
  138.                 Mat image = new Mat();
  139.                
  140.                 while(!Thread.interrupted()) {
  141.                    
  142.                     if(XboxController2.getRawButton(9)) {
  143.                         allowCam1 = !allowCam1;
  144.                     }
  145.                    
  146.                     if(allowCam1){
  147.                       cvSink2.setEnabled(false);
  148.                       cvSink1.setEnabled(true);
  149.                       cvSink1.grabFrame(image);
  150.                     } else{
  151.                       cvSink1.setEnabled(false);
  152.                       cvSink2.setEnabled(true);
  153.                       cvSink2.grabFrame(image);    
  154.                     }
  155.                    
  156.                     outputStream.putFrame(image);
  157.                 }
  158.                
  159.             });
  160.             t.start();*/
  161.            
  162.            
  163.             Timer.delay(0.005);
  164.         }
  165.  
  166.     }
  167.     @Override
  168.     public void test() {
  169.     }
  170.    
  171.     public void updateDashboard() {
  172.        
  173. //      double angle = gyro.getAngle();
  174.         double pdpvoltage =  PDP.getVoltage();
  175.        
  176. //      SmartDashboard.putNumber("Current Angle: ", angle);
  177.         SmartDashboard.putNumber("Voltage of PDP: ", pdpvoltage);
  178.     }
  179. }
  180.  
  181.  
  182. /*  public void straightTankDrive() {
  183.     Joystick joystick = new Joystick(0);
  184.     GyroBase gyro = new ADXRS450_Gyro();
  185.     double reducedAngle = gyro.getAngle() * 0.03;
  186.     int button = 0;
  187.     int axis1 = 1;
  188.     int axis5 = 5;
  189.     int count = 0;
  190.     if (joystick.getRawButton(button)) {
  191.         if (count < 1) {
  192.             gyro.reset();
  193.             count++;
  194.         }
  195.         drive.drive((joystick.getRawAxis(axis1) + joystick.getRawAxis(axis5)) / 2, reducedAngle);
  196.     } else {
  197.         count = 0;
  198.         drive.tankDrive(joystick.getRawAxis(axis1), joystick.getRawAxis(axis5));
  199.     }
  200.    
  201. }*/
  202.  
  203. /*public void robotInit() {
  204. UsbCamera cam0 = new UsbCamera("cam0", 0);
  205. UsbCamera cam1 = new UsbCamera("cam1", 1);
  206. UsbCamera selectedCam = cam0;
  207. CvSink video = CameraServer.getInstance().getVideo(selectedCam);
  208. CvSource outputStream = CameraServer.getInstance().putVideo("Stream", 640, 480);
  209. Mat image = new Mat();
  210. }*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement