Advertisement
Guest User

Untitled

a guest
Oct 18th, 2017
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package org.firstinspires.ftc.teamcode;
  2.  
  3. import com.qualcomm.hardware.lynx.LynxI2cColorRangeSensor;
  4. import com.qualcomm.robotcore.hardware.ColorSensor;
  5. import com.qualcomm.robotcore.hardware.DcMotor;
  6. import com.qualcomm.robotcore.hardware.HardwareMap;
  7. import com.qualcomm.robotcore.hardware.Servo;
  8. import com.qualcomm.robotcore.util.ElapsedTime;
  9.  
  10. /**
  11.  * This is NOT an opmode.
  12.  *
  13.  * This class can be used to define all the specific hardware for a single robot.
  14.  * In this case that robot is a Pushbot.
  15.  * See PushbotTeleopTank_Iterative and others classes starting with "Pushbot" for usage examples.
  16.  *
  17.  * This hardware class assumes the following device names have been configured on the robot:
  18.  * Note:  All names are lower case and some have single spaces between words.
  19.  * Motor channel:  Manipulator drive motor:  " arm"
  20.  * Servo channel:  Servo to open left claw:  "left_hand"
  21.  * Servo channel:  Servo to open right claw: "right_hand"t
  22.  */
  23. public class TestBotNN
  24. {
  25.     /* Public OpMode members. */
  26.     public DcMotor  leftMotor   = null;
  27.     public DcMotor  rightMotor  = null;
  28.  
  29.     //changed the linx to the rev sensor
  30.     ColorSensor colorSensor;
  31.     DistanceSensor sensorDistance;
  32.  
  33.     public Servo grabberServo;
  34.  
  35.     /* local OpMode members. */
  36.     HardwareMap hwMap           =  null;
  37.     private ElapsedTime period  = new ElapsedTime();
  38.  
  39.     /* Constructor */
  40.     public TestBotNN(){
  41.  
  42.     }
  43.  
  44.     /* Initialize standard Hardware interfaces */
  45.     public void init(HardwareMap ahwMap) {
  46.         // Save reference to Hardware map
  47.         hwMap = ahwMap;
  48.  
  49.         // Define and Initialize Motors
  50.         leftMotor   = hwMap.dcMotor.get("left motor");
  51.         rightMotor  = hwMap.dcMotor.get("right motor");
  52.         grabberServo = hwMap.servo.get("grabber servo");
  53.  
  54.         //initialize the rev sensors
  55.         // get a reference to the color sensor.
  56.         colorSensor = hwMap.get(ColorSensor.class, "sensor_color_distance");
  57.  
  58.         // get a reference to the distance sensor that shares the same name.
  59.         sensorDistance = hwMap.get(DistanceSensor.class, "sensor_color_distance");
  60.  
  61.  
  62.         colorSensor.enableLed(false);
  63.         colorSensor.red();
  64.         colorSensor.blue();
  65.         leftMotor.setDirection(DcMotor.Direction.REVERSE); // Set to REVERSE if using AndyMark motors
  66.         rightMotor.setDirection(DcMotor.Direction.FORWARD);// Set to FORWARD if using AndyMark motors
  67.  
  68.         // Set all motors to zero power
  69.         leftMotor.setPower(0);
  70.         rightMotor.setPower(0);
  71.         // Set all motors to run without encoders.
  72.         // May want to use RUN_USING_ENCODERS if encoders are installed.
  73.         leftMotor.setMode(DcMotor.RunMode.RUN_USING_ENCODER);
  74.         rightMotor.setMode(DcMotor.RunMode.RUN_USING_ENCODER);;
  75.         // rightMotor.setMode(DcMotor.RunMode.RUN_TO_POSITION);
  76.         //leftMotor.setMode(DcMotor.RunMode.RUN_TO_POSITION);
  77.     }
  78.  
  79.     /***
  80.      *
  81.      * waitForTick implements a periodic delay. However, this acts like a metronome with a regular
  82.      * periodic tick.  This is used to compensate for varying processing times for each cycle.
  83.      * The function looks at the elapsed cycle time, and sleeps for the remaining time interval.
  84.      *
  85.      * @param periodMs  Length of wait cycle in mSec.
  86.      */
  87.     public void waitForTick(long periodMs) {
  88.  
  89.         long  remaining = periodMs - (long)period.milliseconds();
  90.  
  91.         // sleep for the remaining portion of the regular cycle period.
  92.         if (remaining > 0) {
  93.             try {
  94.                 Thread.sleep(remaining);
  95.             } catch (InterruptedException e) {
  96.                 Thread.currentThread().interrupt();
  97.             }
  98.         }
  99.  
  100.         // Reset the cycle clock for the next pass.
  101.         period.reset();
  102.     }
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement