Explanation of issue; We have Image proccesing running through grip on driver station. Grip procces images from the robot camera and writes values to NetworkTables that are accesibleand vieable from shufflebaord. But when we try to use the code below to get the values so we can use them in our autonomus script we get Null instead of the actual values.
Any Help would be apreciated, Thanks
Code ( Some wierd formatting so file is attached):
Any Help would be apreciated, Thanks
Code ( Some wierd formatting so file is attached):
Code:
[COLOR=#6a9955]/*----------------------------------------------------------------------------*/[/COLOR] [COLOR=#6a9955]/* Copyright (c) 2017-2018 FIRST. All Rights Reserved. */[/COLOR] [COLOR=#6a9955]/* Open Source Software - may be modified and shared by FRC teams. The code */[/COLOR] [COLOR=#6a9955]/* must be accompanied by the FIRST BSD license file in the root directory of */[/COLOR] [COLOR=#6a9955]/* the project. */[/COLOR] [COLOR=#6a9955]/*----------------------------------------------------------------------------*/[/COLOR] [COLOR=#569cd6]package[/COLOR][COLOR=#d4d4d4]org.usfirst.frc.team6969.robot[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]import[/COLOR][COLOR=#d4d4d4]java.util.ArrayList[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]import[/COLOR][COLOR=#d4d4d4]org.usfirst.frc.team6969.robot.subsystems.Claw[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]import[/COLOR][COLOR=#d4d4d4]org.usfirst.frc.team6969.robot.subsystems.DriveTrain[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]import[/COLOR][COLOR=#d4d4d4]org.opencv.core.Rect[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]import[/COLOR][COLOR=#d4d4d4]org.opencv.imgproc.Imgproc[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]import[/COLOR][COLOR=#d4d4d4]edu.wpi.cscore.UsbCamera[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]import[/COLOR][COLOR=#d4d4d4]edu.wpi.first.cameraserver.CameraServer[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]import[/COLOR][COLOR=#d4d4d4]edu.wpi.first.vision.VisionThread[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]import[/COLOR][COLOR=#d4d4d4]edu.wpi.first.wpilibj.DriverStation[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]import[/COLOR][COLOR=#d4d4d4]edu.wpi.first.wpilibj.PowerDistributionPanel[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]import[/COLOR][COLOR=#d4d4d4]edu.wpi.first.wpilibj.SerialPort[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]import[/COLOR][COLOR=#d4d4d4]edu.wpi.first.wpilibj.TimedRobot[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]import[/COLOR][COLOR=#d4d4d4]edu.wpi.first.wpilibj.Timer[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]import[/COLOR][COLOR=#d4d4d4]edu.wpi.first.networktables.*[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]import[/COLOR][COLOR=#d4d4d4]edu.wpi.first.networktables.NetworkTable[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]import[/COLOR][COLOR=#d4d4d4]edu.wpi.first.wpilibj.command.Command[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]import[/COLOR][COLOR=#d4d4d4]org.usfirst.frc.team6969.robot.commands.NetworkTablesDesktopClient[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]import[/COLOR][COLOR=#d4d4d4]edu.wpi.first.wpilibj.command.Scheduler[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]import[/COLOR][COLOR=#d4d4d4]edu.wpi.first.wpilibj.drive.DifferentialDrive[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]import[/COLOR][COLOR=#d4d4d4]edu.wpi.first.wpilibj.smartdashboard.SmartDashboard[/COLOR][COLOR=#d4d4d4];;[/COLOR] [COLOR=#6a9955]/**[/COLOR] [COLOR=#6a9955]* The VM is configured to automatically run this class, and to call the[/COLOR] [COLOR=#6a9955]* functions corresponding to each mode, as described in the TimedRobot[/COLOR] [COLOR=#6a9955]* documentation. If you change the name of this class or the package after[/COLOR] [COLOR=#6a9955]* creating this project, you must also update the build.properties file in the[/COLOR] [COLOR=#6a9955]* project.[/COLOR] [COLOR=#6a9955]*/[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#569cd6]class[/COLOR][COLOR=#4ec9b0]Robot[/COLOR][COLOR=#569cd6]extends[/COLOR][COLOR=#4ec9b0]TimedRobot[/COLOR][COLOR=#d4d4d4] {[/COLOR] [COLOR=#569cd6]private[/COLOR][COLOR=#569cd6]static[/COLOR][COLOR=#569cd6]final[/COLOR][COLOR=#4ec9b0]int[/COLOR][COLOR=#9cdcfe]IMG_WIDTH[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#b5cea8]640[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]private[/COLOR][COLOR=#569cd6]static[/COLOR][COLOR=#569cd6]final[/COLOR][COLOR=#4ec9b0]int[/COLOR][COLOR=#9cdcfe]IMG_HEIGHT[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#b5cea8]480[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#4ec9b0]NetworkTableEntry[/COLOR][COLOR=#9cdcfe]centerball[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#4ec9b0]NetworkTableEntry[/COLOR][COLOR=#9cdcfe]centerhatch[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#4ec9b0]double[/COLOR][COLOR=#d4d4d4][] [/COLOR][COLOR=#9cdcfe]ballx[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#4ec9b0]double[/COLOR][COLOR=#d4d4d4][] [/COLOR][COLOR=#9cdcfe]hatchx[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#6a9955]// Robot class controls the whole robot[/COLOR] [COLOR=#6a9955]// if you ever get lost: https://frc-pdr.readthedocs.io/en/latest/index.html[/COLOR] [COLOR=#6a9955]//subsystems[/COLOR] [COLOR=#6a9955]//public static ExampleSubsystem m_subsystem = new ExampleSubsystem();[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#569cd6]static[/COLOR][COLOR=#4ec9b0]DriveTrain[/COLOR][COLOR=#9cdcfe]driveTrain[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#569cd6]static[/COLOR][COLOR=#4ec9b0]Claw[/COLOR][COLOR=#9cdcfe]claw[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#6a9955]//controller map[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#569cd6]static[/COLOR][COLOR=#4ec9b0]OI[/COLOR][COLOR=#9cdcfe]m_oi[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#569cd6]static[/COLOR][COLOR=#4ec9b0]DifferentialDrive[/COLOR][COLOR=#9cdcfe]robotDrive[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#569cd6]static[/COLOR][COLOR=#4ec9b0]DriverStation[/COLOR][COLOR=#9cdcfe]ds[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#569cd6]static[/COLOR][COLOR=#4ec9b0]PowerDistributionPanel[/COLOR][COLOR=#9cdcfe]pdp[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#569cd6]static[/COLOR][COLOR=#4ec9b0]SerialPort[/COLOR][COLOR=#9cdcfe]arduino[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]private[/COLOR][COLOR=#4ec9b0]String[/COLOR][COLOR=#9cdcfe]arduinoString[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]private[/COLOR][COLOR=#4ec9b0]ArrayList[/COLOR][COLOR=#d4d4d4]<[/COLOR][COLOR=#4ec9b0]Integer[/COLOR][COLOR=#d4d4d4]> [/COLOR][COLOR=#9cdcfe]pixyData[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]private[/COLOR][COLOR=#4ec9b0]Integer[/COLOR][COLOR=#9cdcfe]pixyVal[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]private[/COLOR][COLOR=#4ec9b0]int[/COLOR][COLOR=#9cdcfe]pixyCounter[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#569cd6]static[/COLOR][COLOR=#4ec9b0]int[/COLOR][COLOR=#9cdcfe]pixyCenter[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#569cd6]static[/COLOR][COLOR=#569cd6]final[/COLOR][COLOR=#4ec9b0]int[/COLOR][COLOR=#9cdcfe]PIXYXCENTER[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#b5cea8]158[/COLOR][COLOR=#d4d4d4]; [/COLOR][COLOR=#6a9955]// pixy cam x-values range from 0 to 316 [/COLOR] [COLOR=#6a9955]//auto command... will vary based on location/alliance[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#4ec9b0]Command[/COLOR][COLOR=#9cdcfe]autonomousCommand[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]null[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#6a9955] /**[/COLOR] [COLOR=#6a9955] * This function is run when the robot is first started up and should be[/COLOR] [COLOR=#6a9955] * used for any initialization code.[/COLOR] [COLOR=#6a9955] */[/COLOR] [COLOR=#4ec9b0]@Override[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#4ec9b0]void[/COLOR][COLOR=#dcdcaa]robotInit[/COLOR][COLOR=#d4d4d4]() {[/COLOR] [COLOR=#9cdcfe]RobotMap[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#dcdcaa]init[/COLOR][COLOR=#d4d4d4]();[/COLOR] [COLOR=#d4d4d4] driveTrain [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#c586c0]new[/COLOR][COLOR=#dcdcaa]DriveTrain[/COLOR][COLOR=#d4d4d4]();[/COLOR] [COLOR=#d4d4d4] claw [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#c586c0]new[/COLOR][COLOR=#dcdcaa]Claw[/COLOR][COLOR=#d4d4d4]();[/COLOR] [COLOR=#d4d4d4] m_oi [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#c586c0]new[/COLOR][COLOR=#dcdcaa]OI[/COLOR][COLOR=#d4d4d4]();[/COLOR] [COLOR=#d4d4d4] pdp [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#c586c0]new[/COLOR][COLOR=#dcdcaa]PowerDistributionPanel[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#b5cea8]30[/COLOR][COLOR=#d4d4d4]);[/COLOR] [COLOR=#d4d4d4] ds [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#9cdcfe]DriverStation[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#dcdcaa]getInstance[/COLOR][COLOR=#d4d4d4]();[/COLOR] [COLOR=#6a9955]//pdp.clearStickyFaults(); // clears pdp issue with yellow light[/COLOR] [COLOR=#d4d4d4] robotDrive [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#9cdcfe]RobotMap[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#9cdcfe]drive[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#6a9955]//arduino = new SerialPort(9600, SerialPort.Port.kUSB1);[/COLOR] [COLOR=#6a9955]//arduinoString = "";[/COLOR] [COLOR=#6a9955]//pixyData = new ArrayList<Integer>();[/COLOR] [COLOR=#6a9955]//for (int i = 0; i < 50; i++) // initialize pixyData[/COLOR] [COLOR=#6a9955]// pixyData.add(new Integer(-1));[/COLOR] [COLOR=#6a9955]//pixyCenter = 158;[/COLOR] [COLOR=#4ec9b0]UsbCamera[/COLOR][COLOR=#9cdcfe]camera[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#9cdcfe]CameraServer[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#dcdcaa]getInstance[/COLOR][COLOR=#d4d4d4]().[/COLOR][COLOR=#dcdcaa]startAutomaticCapture[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#b5cea8]0[/COLOR][COLOR=#d4d4d4]);[/COLOR] [COLOR=#9cdcfe]camera[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#dcdcaa]setResolution[/COLOR][COLOR=#d4d4d4](IMG_WIDTH, IMG_HEIGHT);[/COLOR] [COLOR=#6a9955]//UsbCamera camera1 = CameraServer.getInstance().startAutomaticCapture(1);[/COLOR] [COLOR=#6a9955]//camera1.setResolution(IMG_WIDTH, IMG_HEIGHT);[/COLOR] [COLOR=#4ec9b0]NetworkTableInstance[/COLOR][COLOR=#9cdcfe]inst[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#9cdcfe]NetworkTableInstance[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#dcdcaa]getDefault[/COLOR][COLOR=#d4d4d4]();[/COLOR] [COLOR=#9cdcfe]inst[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#dcdcaa]startClientTeam[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#b5cea8]6969[/COLOR][COLOR=#d4d4d4]);[/COLOR] [COLOR=#4ec9b0]NetworkTable[/COLOR][COLOR=#9cdcfe]Ball[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#9cdcfe]inst[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#dcdcaa]getTable[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"GRIP/BallReport"[/COLOR][COLOR=#d4d4d4]);[/COLOR] [COLOR=#4ec9b0]NetworkTable[/COLOR][COLOR=#9cdcfe]Hatch[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#9cdcfe]inst[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#dcdcaa]getTable[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"GRIP/HatchReport"[/COLOR][COLOR=#d4d4d4]);[/COLOR] [COLOR=#d4d4d4] centerball [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#9cdcfe]Ball[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#dcdcaa]getEntry[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"centerX"[/COLOR][COLOR=#d4d4d4]);[/COLOR] [COLOR=#d4d4d4] centerhatch [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#9cdcfe]Hatch[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#dcdcaa]getEntry[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"centerX"[/COLOR][COLOR=#d4d4d4]);[/COLOR] [COLOR=#d4d4d4]}[/COLOR] [COLOR=#6a9955] /**[/COLOR] [COLOR=#6a9955] * This function is called once each time the robot enters Disabled mode.[/COLOR] [COLOR=#6a9955] * You can use it to reset any subsystem information you want to clear when[/COLOR] [COLOR=#6a9955] * the robot is disabled.[/COLOR] [COLOR=#6a9955] */[/COLOR] [COLOR=#4ec9b0]@Override[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#4ec9b0]void[/COLOR][COLOR=#dcdcaa]disabledInit[/COLOR][COLOR=#d4d4d4]() {[/COLOR] [COLOR=#d4d4d4] }[/COLOR] [COLOR=#4ec9b0]@Override[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#4ec9b0]void[/COLOR][COLOR=#dcdcaa]disabledPeriodic[/COLOR][COLOR=#d4d4d4]() {[/COLOR] [COLOR=#9cdcfe]Scheduler[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#dcdcaa]getInstance[/COLOR][COLOR=#d4d4d4]().[/COLOR][COLOR=#dcdcaa]run[/COLOR][COLOR=#d4d4d4]();[/COLOR] [COLOR=#d4d4d4] }[/COLOR] [COLOR=#6a9955] /**[/COLOR] [COLOR=#6a9955] * This autonomous (along with the chooser code above) shows how to select[/COLOR] [COLOR=#6a9955] * between different autonomous modes using the dashboard. The sendable[/COLOR] [COLOR=#6a9955] * chooser code works with the Java SmartDashboard. If you prefer the[/COLOR] [COLOR=#6a9955] * LabVIEW Dashboard, remove all of the chooser code and uncomment the[/COLOR] [COLOR=#6a9955] * getString code to get the auto name from the text box below the Gyro[/COLOR] [COLOR=#6a9955] *[/COLOR] [COLOR=#6a9955] * <p>You can add additional auto modes by adding additional commands to the[/COLOR] [COLOR=#6a9955] * chooser code above (like the commented example) or additional comparisons[/COLOR] [COLOR=#6a9955] * to the switch structure below with additional strings & commands.[/COLOR] [COLOR=#6a9955] */[/COLOR] [COLOR=#4ec9b0]@Override[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#4ec9b0]void[/COLOR][COLOR=#dcdcaa]autonomousInit[/COLOR][COLOR=#d4d4d4]() {[/COLOR] [COLOR=#d4d4d4] autonomousCommand [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]null[/COLOR][COLOR=#d4d4d4];[/COLOR] [COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] (autonomousCommand [/COLOR][COLOR=#d4d4d4]!=[/COLOR][COLOR=#569cd6]null[/COLOR][COLOR=#d4d4d4]) {[/COLOR] [COLOR=#9cdcfe]autonomousCommand[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#dcdcaa]start[/COLOR][COLOR=#d4d4d4]();[/COLOR] [COLOR=#d4d4d4] }[/COLOR] [COLOR=#d4d4d4] }[/COLOR] [COLOR=#6a9955] /**[/COLOR] [COLOR=#6a9955] * This function is called periodically during autonomous.[/COLOR] [COLOR=#6a9955] */[/COLOR] [COLOR=#4ec9b0]@Override[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#4ec9b0]void[/COLOR][COLOR=#dcdcaa]autonomousPeriodic[/COLOR][COLOR=#d4d4d4]() {[/COLOR] [COLOR=#9cdcfe]Scheduler[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#dcdcaa]getInstance[/COLOR][COLOR=#d4d4d4]().[/COLOR][COLOR=#dcdcaa]run[/COLOR][COLOR=#d4d4d4]();[/COLOR] [COLOR=#d4d4d4] }[/COLOR] [COLOR=#4ec9b0]@Override[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#4ec9b0]void[/COLOR][COLOR=#dcdcaa]teleopInit[/COLOR][COLOR=#d4d4d4]() {[/COLOR] [COLOR=#6a9955]// This makes sure that the autonomous stops running when[/COLOR] [COLOR=#6a9955]// teleop starts running. If you want the autonomous to[/COLOR] [COLOR=#6a9955]// continue until interrupted by another command, remove[/COLOR] [COLOR=#6a9955]// this line or comment it out.[/COLOR] [COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] (autonomousCommand [/COLOR][COLOR=#d4d4d4]!=[/COLOR][COLOR=#569cd6]null[/COLOR][COLOR=#d4d4d4]) {[/COLOR] [COLOR=#9cdcfe]autonomousCommand[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#dcdcaa]cancel[/COLOR][COLOR=#d4d4d4]();[/COLOR] [COLOR=#d4d4d4] }[/COLOR] [COLOR=#6a9955]//for every subsystem just do subsystem.initDefaultCommand()[/COLOR] [COLOR=#6a9955]//subsystems[/COLOR] [COLOR=#6a9955]//driveTrain.initDefaultCommand();[/COLOR] [COLOR=#d4d4d4] }[/COLOR] [COLOR=#6a9955] /**[/COLOR] [COLOR=#6a9955] * This function is called periodically during operator control.[/COLOR] [COLOR=#6a9955] */[/COLOR] [COLOR=#4ec9b0]@Override[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#4ec9b0]void[/COLOR][COLOR=#dcdcaa]teleopPeriodic[/COLOR][COLOR=#d4d4d4]() {[/COLOR] [COLOR=#9cdcfe]Scheduler[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#dcdcaa]getInstance[/COLOR][COLOR=#d4d4d4]().[/COLOR][COLOR=#dcdcaa]run[/COLOR][COLOR=#d4d4d4]();[/COLOR] [COLOR=#9cdcfe]centerball[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#dcdcaa]getDoubleArray[/COLOR][COLOR=#d4d4d4](ballx); [/COLOR] [COLOR=#9cdcfe]centerhatch[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#dcdcaa]getDoubleArray[/COLOR][COLOR=#d4d4d4](hatchx);[/COLOR] [COLOR=#9cdcfe]System[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#9cdcfe]out[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#dcdcaa]println[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"X Hatch: "[/COLOR][COLOR=#d4d4d4]+[/COLOR][COLOR=#d4d4d4] hatchx[[/COLOR][COLOR=#b5cea8]0[/COLOR][COLOR=#d4d4d4]][/COLOR][COLOR=#d4d4d4]+[/COLOR][COLOR=#ce9178]"X Ball: "[/COLOR][COLOR=#d4d4d4]+[/COLOR][COLOR=#d4d4d4] ballx[[/COLOR][COLOR=#b5cea8]0[/COLOR][COLOR=#d4d4d4]]);[/COLOR] [COLOR=#d4d4d4] }[/COLOR] [COLOR=#6a9955] /**[/COLOR] [COLOR=#6a9955] * This function is called periodically during test mode.[/COLOR] [COLOR=#6a9955] */[/COLOR] [COLOR=#4ec9b0]@Override[/COLOR] [COLOR=#569cd6]public[/COLOR][COLOR=#4ec9b0]void[/COLOR][COLOR=#dcdcaa]testPeriodic[/COLOR][COLOR=#d4d4d4]() {[/COLOR] [COLOR=#d4d4d4] }[/COLOR]
Comment