當前位置: 首頁>>代碼示例>>Java>>正文


Java Timer類代碼示例

本文整理匯總了Java中edu.wpi.first.wpilibj.Timer的典型用法代碼示例。如果您正苦於以下問題:Java Timer類的具體用法?Java Timer怎麽用?Java Timer使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


Timer類屬於edu.wpi.first.wpilibj包,在下文中一共展示了Timer類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: initGyro

import edu.wpi.first.wpilibj.Timer; //導入依賴的package包/類
/**
 * Initialize the gyro. Calibration is handled by calibrate().
 */
public void initGyro() {
  result = new AccumulatorResult();

  m_voltsPerDegreePerSecond = kDefaultVoltsPerDegreePerSecond;
  m_analog.setAverageBits(kAverageBits);
  m_analog.setOversampleBits(kOversampleBits);
  double sampleRate = kSamplesPerSecond * (1 << (kAverageBits + kOversampleBits));
  AnalogInput.setGlobalSampleRate(sampleRate);
  Timer.delay(0.1);

  setDeadband(0.0);

  setPIDSourceType(PIDSourceType.kDisplacement);

  UsageReporting.report(tResourceType.kResourceType_Gyro, m_analog.getChannel());
  LiveWindow.addSensor("AnalogGyro", m_analog.getChannel(), this);
}
 
開發者ID:FRC4131,項目名稱:FRCStronghold2016,代碼行數:21,代碼來源:CustomGyro.java

示例2: calibrate

import edu.wpi.first.wpilibj.Timer; //導入依賴的package包/類
/**
 * {@inheritDoc}
 */
@Override
public void calibrate() {
  if (m_spi == null) return;

  Timer.delay(0.1);

  synchronized (this) {
    m_accum_count = 0;
    m_accum_gyro_x = 0.0;
    m_accum_gyro_y = 0.0;
    m_accum_gyro_z = 0.0;
  }

  Timer.delay(kCalibrationSampleTime);

  synchronized (this) {
    m_gyro_offset_x = m_accum_gyro_x / m_accum_count;
    m_gyro_offset_y = m_accum_gyro_y / m_accum_count;
    m_gyro_offset_z = m_accum_gyro_z / m_accum_count;
  }
}
 
開發者ID:2141-Spartonics,項目名稱:Spartonics-Code,代碼行數:25,代碼來源:ADIS16448_IMU.java

示例3: isFinished

import edu.wpi.first.wpilibj.Timer; //導入依賴的package包/類
protected boolean isFinished() {
    double wheelSpeedR;
    double wheelSpeedL;
    double elapsedTime;
    wheelSpeedL = RobotMap.driveTrainLeftFront.getSpeed();
    wheelSpeedR = RobotMap.driveTrainRightFront.getSpeed();
    elapsedTime = Timer.getFPGATimestamp() - startTime;
    if (elapsedTime > 1 && (wheelSpeedL <= .001 && wheelSpeedR <= .001))
    {
    	//System.out.println("VISION stop by Speed");
    	return true;
    }
    else if  (elapsedTime > endTime)
    {
    	//System.out.println("VISION Stop by timeout");
    	return true;
    }
    return false;
	//return (elapsedTime > 1 && (wheelSpeedL <= .001 && wheelSpeedR <= .001)) || (elapsedTime > endTime); //|| (NavX.ahrs.getWorldLinearAccelY() < -1); //-0.8);
    
}
 
開發者ID:FRC2832,項目名稱:Robot_2017,代碼行數:22,代碼來源:VisionAimGear.java

示例4: initialize

import edu.wpi.first.wpilibj.Timer; //導入依賴的package包/類
protected void initialize() {
  	RobotMap.driveTrainRightFront.setPosition(0);
  	RobotMap.driveTrainLeftFront.setPosition(0);
RobotMap.driveTrainLeftFront.setEncPosition(0);
RobotMap.driveTrainRightFront.setEncPosition(0);
  	startTime = Timer.getFPGATimestamp();
  	maxAccel = 0;
  	minAccel = 0;
  	dispCount = 0;
  	//initRightEnc = DriveEncoders.getRawRightValue();
  	//initLeftEnc = DriveEncoders.getRawLeftValue();
  	//prevTime = System.currentTimeMillis();
  	//prevRightError = 0;
  	//prevLeftError = 0;
  	//SmartDashboard.putString("Auton Debugging", "DriveForwardInit");
  	}
 
開發者ID:FRC2832,項目名稱:Robot_2017,代碼行數:17,代碼來源:DriveForward.java

示例5: perform

import edu.wpi.first.wpilibj.Timer; //導入依賴的package包/類
@Override
public void perform() {
  terminal.writer().println();
  terminal.writer().println(Messages.bold(NAME));
  terminal.writer().println();
  DigitalOutput digitalOutput = dioSet.getDigitalOutput();
  if (digitalOutput == null) {
    terminal.writer().println(Messages.boldRed("no digital output selected"));
    return;
  }
  digitalOutput.disablePWM();
  digitalOutput.enablePWM(0.25);
  Timer.delay(SLEEP_SEC);
  digitalOutput.updateDutyCycle(0.5);
  Timer.delay(SLEEP_SEC);
  digitalOutput.updateDutyCycle(0.75);
  Timer.delay(SLEEP_SEC);
  digitalOutput.updateDutyCycle(1.0);
}
 
開發者ID:strykeforce,項目名稱:thirdcoast,代碼行數:20,代碼來源:DemoPwmDigitalOutputCommand.java

示例6: run

import edu.wpi.first.wpilibj.Timer; //導入依賴的package包/類
public void run()
{
	double lastWriteTime = Timer.getFPGATimestamp();
	while (true)
	{
		try
		{
			String msg = logMessages.take();
			writer.write(msg);
			if (Timer.getFPGATimestamp() >= lastWriteTime + WRITE_TIME)
			{
				writer.flush();
				lastWriteTime = Timer.getFPGATimestamp();
			}
		}
		catch (InterruptedException | IOException e)
		{
			((Throwable) e).printStackTrace();
		}
	}
}
 
開發者ID:BytingBulldogs3539,項目名稱:BBLIB,代碼行數:22,代碼來源:Logger.java

示例7: runCrashTracked

import edu.wpi.first.wpilibj.Timer; //導入依賴的package包/類
@Override
public void runCrashTracked() {
	synchronized (mTaskRunningLock) {
		if (mRunning) {
			double now = Timer.getFPGATimestamp();
			Commands commands = Robot.getCommands();
			RobotState robotState = Robot.getRobotState();
			for (SubsystemLoop loop : mLoops) {
				loop.update(commands, robotState);
				Logger.getInstance().logSubsystemThread(loop.getStatus());
			}
			mDt = now - mTimeStamp;
			mTimeStamp = now;
		}
	}
}
 
開發者ID:team8,項目名稱:FRC-2017-Public,代碼行數:17,代碼來源:SubsystemLooper.java

示例8: start

import edu.wpi.first.wpilibj.Timer; //導入依賴的package包/類
public synchronized void start() {
	if (!mRunning) {
		System.out.println("Starting loops");
		synchronized (mTaskRunningLock) {
			mTimeStamp = Timer.getFPGATimestamp();
			for (SubsystemLoop loop : mLoops) {
				System.out.println("Starting " + loop.toString());
				loop.start();
			}
			mRunning = true;
		}
		mNotifier.startPeriodic(kPeriod);
	} else {
		System.out.println("SubsystemLooper already running");
	}
	if (!mPrinting) {
		System.out.println("Starting subsystem printer");
		mPrintTimeStamp = Timer.getFPGATimestamp();
		mPrinting = true;
		mPrintNotifier.startPeriodic(kPrintRate);
	}
}
 
開發者ID:team8,項目名稱:FRC-2017-Public,代碼行數:23,代碼來源:SubsystemLooper.java

示例9: updateValues

import edu.wpi.first.wpilibj.Timer; //導入依賴的package包/類
public static void updateValues() {
      
  	if (!initialized)
  		return;
  	
  	// Default data if network table data pull fails
double defaultDoubleVal = 0.0;

// Pull data from grip
numTargets = table.getNumber("targets", defaultDoubleVal);
targetX = table.getNumber("targetX", defaultDoubleVal);
targetY = table.getNumber("targetY", defaultDoubleVal);
targetArea = table.getNumber("targetArea",defaultDoubleVal);
targetDistance = table.getNumber("targetDistance",defaultDoubleVal);

Timer.delay(0.02);
  }
 
開發者ID:MTHSRoboticsClub,項目名稱:FRC-2017,代碼行數:18,代碼來源:RPIComm.java

示例10: run

import edu.wpi.first.wpilibj.Timer; //導入依賴的package包/類
@Override
public void run() {
	double current = 0;
	final double filter = 0.1666667;
	final double max = 30; // 30 Amps should not be violated in most cases
	
	boolean isDisabled = false;
	
	while (!Thread.currentThread().isInterrupted()) {
		// Rolling Avg.
		current = filter * getOutputCurrent() + current * (1 - filter);
		if (current > max * 0.9 && !isDisabled) {
			disableControl();
			isDisabled = true;
		}else if (current < max * 0.80 && isDisabled){
			enableControl();
			isDisabled = false;
		}
		Timer.delay(0.1);
	}
}
 
開發者ID:FRC2832,項目名稱:Robot_2016,代碼行數:22,代碼來源:CANTalonCurrentSafety.java

示例11: Init

import edu.wpi.first.wpilibj.Timer; //導入依賴的package包/類
public void Init()
{
    Logger.PrintLine("Init 1",Logger.LOGGER_MESSAGE_LEVEL_DEBUG);
    
    m_pidController = new PIDController(10,10,10,m_encoderAverager,m_robotDrivePid);
    m_pidController.setOutputRange(-0.8,0.8);
    //m_pidController.setOutputRange(-0.4,0.4);
    Logger.PrintLine("Init 4",Logger.LOGGER_MESSAGE_LEVEL_ERROR);

    m_currentStateIndex = 0;
    SetCurrentState(m_nextStateArray[m_currentStateIndex]);
    m_disabled = false;
    
    m_shootingBall = false;
    m_driving = false;
    m_braking = false;
    m_detectingImage = false;
    m_currentStateIndex = 0;
    m_loadingBall = false;
    m_shooterPullingBack = false;
    
    m_autonomousStartTime = Timer.getFPGATimestamp();
    
    m_robotDrivePid.resetGyro();
}
 
開發者ID:Dinoyan,項目名稱:FRC-2014-robot-project,代碼行數:26,代碼來源:AutonomousModeHandler.java

示例12: HandleStateRelease

import edu.wpi.first.wpilibj.Timer; //導入依賴的package包/類
private void HandleStateRelease()
{
    if (!m_gearReleased)
    {
        // set the gear in neutral
        m_gearControl.set(DoubleSolenoid.Value.kForward);
        m_gearReleased = true;
    }
    
    if(!m_latchReleased)
    {
        //release the latch
        m_latchReleaseServo.set(1);
        Timer.delay(0.5);
        m_latchReleased = true;
    }
   
    m_isPulledBack = false;
    m_currentState = SHOOTER_CONTROL_STATE_WAIT;
}
 
開發者ID:Dinoyan,項目名稱:FRC-2014-robot-project,代碼行數:21,代碼來源:ShooterControl.java

示例13: calibrate

import edu.wpi.first.wpilibj.Timer; //導入依賴的package包/類
/**
 * {@inheritDoc}
 */
@Override
public void calibrate() {
  if (m_spi == null) return;

  Timer.delay(0.1);

  synchronized (this) {
    m_accum_count = 0;
    m_accum_gyro_x = 0.0;
    m_accum_gyro_y = 0.0;
    m_accum_gyro_z = 0.0;
  }

  Timer.delay(kCalibrationSampleTime);

  synchronized (this) {
    m_gyro_center_x = m_accum_gyro_x / m_accum_count;
    m_gyro_center_y = m_accum_gyro_y / m_accum_count;
    m_gyro_center_z = m_accum_gyro_z / m_accum_count;
  }
}
 
開發者ID:mtmustski,項目名稱:FRC-Robotics-2016-Team-2262,代碼行數:25,代碼來源:ADIS16448_IMU.java

示例14: reset

import edu.wpi.first.wpilibj.Timer; //導入依賴的package包/類
public static void reset()
{
	System.out.println("NavXSensor::reset called!");
	
	if (ahrs != null) 
	{
		ahrs.reset();
		ahrs.resetDisplacement();
		ahrs.zeroYaw();
		
		// allow zeroing to take effect
		Timer.delay(0.1);
		
		// get the absolute angle after reset - Not sure why it is non-zero, but we need to record it to zero it out
		yawOffset = ahrs.getAngle();	
		System.out.println("yawOffset read = " + yawOffset);
	}
}
 
開發者ID:MTHSRoboticsClub,項目名稱:FRC-2017,代碼行數:19,代碼來源:NavXSensor.java

示例15: execute

import edu.wpi.first.wpilibj.Timer; //導入依賴的package包/類
protected void execute() {
		//check to see limit switch 
//		if(direction.equals("in") && Robot.intakeRollerSubsystem.getOverride())
//			Robot.intakeRollerSubsystem.intake();
//		else if(direction.equals("in") && RobotMap.shooterEncoder.getRate() > 0)
//			Robot.intakeRollerSubsystem.intake();
//		else if (direction.equals("in") && buttonsNotPressed())
//			Robot.intakeRollerSubsystem.intake();
		if(direction.equals("in"))
			Robot.intakeRollerSubsystem.intake();
		else if(direction.equalsIgnoreCase("out"))
			Robot.intakeRollerSubsystem.outake();
		else if(direction.equalsIgnoreCase("auton")){
			Robot.intakeRollerSubsystem.outake();
			Timer.delay(1);
		}
		else
			Robot.intakeRollerSubsystem.neutral();
	}
 
開發者ID:Team1923,項目名稱:Stronghold_2016,代碼行數:20,代碼來源:IntakeRollerCommand.java


注:本文中的edu.wpi.first.wpilibj.Timer類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。