微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

edu.wpi.first.wpilibj.CounterBase的实例源码

项目:FRCTesting    文件QuadratureEncoder.java   
/**
 * Creates an encoder using the two SIG inputs (A and B).
 * Also allows the encoder to be reversed.
 * Can also control the difference between getRaw and get values.
 * pulsesPerRev is used for getdistance() methods.
 * @param channelA I/0 SIG A.
 * @param channelB I/O SIG B.
 * @param isReversed When true,returned values are inverted.
 * @param scaleValue getRaw() values are divided by multiples of 1,2,or 4 to increase accuracy.
 * @param pulsesPerRev Number of pulses for a revolution of the motor (look at instance variable).
 */
public QuadratureEncoder(int channelA,int channelB,boolean isReversed,int scaleValue,double pulsesPerRev)
{
    CounterBase.EncodingType encType = CounterBase.EncodingType.k4X;

    if (scaleValue == 1)
        encType = CounterBase.EncodingType.k1X;
    else if (scaleValue == 2)
        encType = CounterBase.EncodingType.k2X;
    else if (scaleValue == 4)
        encType = CounterBase.EncodingType.k4X;

    enc = new Encoder(channelA,channelB,isReversed,encType);

    pulsesPerRevolution = pulsesPerRev;
    enc.start();
}
项目:NR-2014-CMD    文件Drive.java   
private Drive()
{
    drive = new RobotDrive(new Talon(1),new Talon(2),new Talon(3),new Talon(4));
    drive.setSafetyEnabled(false);


    e1 = new Encoder(RobotMap.ENCODER_1_A,RobotMap.ENCODER_1_B,false,CounterBase.EncodingType.k4X);
    e2 = new Encoder(RobotMap.ENCODER_2_A,RobotMap.ENCODER_2_B,CounterBase.EncodingType.k4X);

    //A calculated constant to convert from encoder ticks to feet on 4 inch diameter wheels
    e1.setdistancePerpulse(0.0349065850388889/12);
    e2.setdistancePerpulse(0.0349065850388889/12);
    startEncoders();

    drive.setInvertedMotor(RobotDrive.MotorType.kFrontLeft,true);      
    drive.setInvertedMotor(RobotDrive.MotorType.kRearLeft,true);

    sonic = new Ultrasonic(RobotMap.ULTRASONIC_A,RobotMap.ULTRASONIC_B);
    sonic.setAutomaticMode(true);
    sonic.setEnabled(true);


    shifter = new DoubleSolenoid(RobotMap.SHIFTER_ENGAGE,RobotMap.SHIFTER_disENGAGE);
}
项目:RobotBlueTwilight2013    文件DriveTrain.java   
public DriveTrain(boolean isCan)
{

    shifter = new Piston(SHIFTER_EXTEND_PORT,SHIFTER_RETRACT_PORT);
    left = new BTMotor(LEFT_JAG_PORT,isCan,isVoltage);
    left_2 = new BTMotor(LEFT_JAG_PORT_2,isVoltage);
    right = new BTMotor(RIGHT_JAG_PORT,isVoltage);
    right_2 = new BTMotor(RIGHT_JAG_PORT_2,isVoltage);
    shiftSpeed = new Encoder(DRIVE_ENCODER_A_PORT,DRIVE_ENCODER_B_PORT,true,CounterBase.EncodingType.k1X);
    shiftSpeed.setdistancePerpulse(distance);
    shiftSpeed.start();
    shiftSpeed.reset();

    left.setBTVoltageRampRate(ramprate);
    left_2.setBTVoltageRampRate(ramprate);
    right.setBTVoltageRampRate(ramprate);
    right_2.setBTVoltageRampRate(ramprate);
}
项目:snobot-2017    文件EncoderWrapper.java   
public EncoderWrapper(int aIndexA,int aIndexB)
{
    super("Encoder (" + aIndexA + "," + aIndexB + ")");

    setEncodingFactor(CounterBase.EncodingType.k4X);
    mdistancePerTick = 1;
}
项目:Team3310FRC2014    文件EncoderPIDSubsystem.java   
public EncoderPIDSubsystem(String name,double kP,double kI,double kD,int motorChannel,int encoderAChannel,int encoderBChannel,boolean reverseEncoder,double gearRatioEncoderToOutput) {
    super(name,kP,kI,kD);
    try {
        m_motorController = new Victor(motorChannel);
        m_encoder = new Encoder(1,encoderAChannel,1,encoderBChannel,reverseEncoder,CounterBase.EncodingType.k4X);
        double degPerpulse = 360.0 / gearRatioEncoderToOutput / DEFAULT_pulseS_PER_ROTATION;
        m_encoder.setdistancePerpulse(degPerpulse);
        resetZeroPosition();
    } catch (Exception e) {
        System.out.println("UnkNown error initializing " + getName() + "-EncoderPIDSubsystem.  Message = " + e.getMessage());
    }
}
项目:Team3310FRC2014    文件EncoderPIDSubsystem.java   
public EncoderPIDSubsystem(String name,double wheelDiameter,double gearRatioEncoderToWheel) {
    super(name,CounterBase.EncodingType.k4X);
        double distancePerpulse = Math.PI * wheelDiameter / gearRatioEncoderToWheel / DEFAULT_pulseS_PER_ROTATION;
        m_encoder.setdistancePerpulse(distancePerpulse);
        resetZeroPosition();
    } catch (Exception e) {
        System.out.println("UnkNown error initializing " + getName() + "-EncoderPIDSubsystem.  Message = " + e.getMessage());
    }
}
项目:Team3310FRC2014    文件RPMEncoder.java   
public RPMEncoder(int aSlot,int aChannel,int bSlot,int bChannel,boolean reverseDirection,double pulsesPerRotation,int numAveragedCycles) {
        m_pulsesPerRotation = pulsesPerRotation;
        m_numAveragedCycles = numAveragedCycles;

        m_encoder = new Encoder(aSlot,aChannel,bSlot,bChannel,reverseDirection,CounterBase.EncodingType.k4X);

        m_motorRPM = new double[numAveragedCycles];
        m_encoder.reset();
        resetMotorRPM();
}
项目:Veer    文件O_TurnEncoder.java   
public O_TurnEncoder(int APort,int BPort,int zeroPort,double zeroOffset,boolean reverseEncoder){       
    zeroSensor = new DigitalInput(RobotMap.turnModule,zeroPort);
    this.zeroOffset = zeroOffset;
    encoder = new Encoder(RobotMap.turnModule,APort,RobotMap.turnModule,BPort,CounterBase.EncodingType.k4X) {{
        setdistancePerpulse(360.0 / 500.0);
        start();
    }};
}
项目:ReboundRumbleJava    文件Robottemplate.java   
public Robottemplate() {
    // initialize all the objects
    ingest = new VictorPair(5,6);
    elevator = new Victor(1);

    shooter = new VictorPair(2,4);

    robotDrive = new Drive(8,7,10,9);
    xBox = new JStick(1);
    joystick = new JStick(2);
    compressor = new Compressor(4,3);
    compressor.start();

    driveGeara = new Solenoid(1);
    driveGearB = new Solenoid(2);
    driveGeara.set(true);
    driveGearB.set(false);
    selectedGear = 1;

    leftEnc = new Encoder(6,CounterBase.EncodingType.k2X);
    leftEnc.setdistancePerpulse(0.103672558);

    rightEnc = new Encoder(9,false);
    rightEnc.setdistancePerpulse(0.103672558);

    lcd = DriverStationLCD.getInstance();
}
项目:2013ultimate-ascent    文件GRTEncoder.java   
/**
 * Instantiates an encoder on the default digital module.
 *
 * @param channelA digital channel for encoder channel A
 * @param channelB digital channel for encoder channel B
 * @param pulsedistance distance traveled for each pulse (typically 1 degree
 * of rotation per pulse)
 * @param reversed whether or not the encoder is reversed
 * @param name name of encoder
 */
public GRTEncoder(int channelA,double pulsedistance,boolean reversed,String name) {
    super(name,NUM_DATA);

    //Create new encoder that does 1x encoding,as opposed to 4x.
    rotaryEncoder = new Encoder(channelA,reversed,CounterBase.EncodingType.k1X);  
    rotaryEncoder.start();

    encoderListeners = new Vector();
    distancePerpulse = pulsedistance;
    rotaryEncoder.setdistancePerpulse(distancePerpulse);
}
项目:grtframeworkv7    文件GRTEncoder.java   
/**
 * Instantiates an encoder on the default digital module.
 *
 * @param channelA digital channel for encoder channel A
 * @param channelB digital channel for encoder channel B
 * @param pulsedistance distance traveled for each pulse (typically 1 degree
 * of rotation per pulse)
 * @param reversed whether or not the encoder is reversed
 * @param name name of encoder
 */
public GRTEncoder(int channelA,CounterBase.EncodingType.k1X);  
    rotaryEncoder.start();

    encoderListeners = new Vector();
    distancePerpulse = pulsedistance;
    rotaryEncoder.setdistancePerpulse(distancePerpulse);
}
项目:SwerveDrive    文件TestBotSwervePod.java   
public TestBotSwervePod(int talonPWM,SabertoothSpeedController.Address sabertoothAddress,SabertoothSpeedController.Motor sabertoothMotor,int encoderPin1,int encoderPin2,int digipotPin,double digipotOffset) {
    super(new Talon(talonPWM),new SabertoothSpeedController(sabertoothAddress,sabertoothMotor),new Encoder(encoderPin1,encoderPin2,CounterBase.EncodingType.k1X),ENCODER_INCHES_PER_TICK,new BI6120Magnepot(digipotPin,digipotOffset));
}
项目:Team3310FRC2014    文件PositionEncoder.java   
public PositionEncoder(int aSlot,double gearRatioWheelToEncoder) {
        m_encoder = new Encoder(aSlot,CounterBase.EncodingType.k4X);
        double distancePerpulse = Math.PI * wheelDiameter * wheelDiameter * gearRatioWheelToEncoder / 4.0 / pulsesPerRotation;
        m_encoder.setdistancePerpulse(distancePerpulse);
        resetdistance();
}
项目:Team3310FRC2014    文件Chassis.java   
public Chassis() {
        super(KP,KI,KD);

        try {
            m_drive = new RobotDrive(
                    new Victor(RobotMap.DRIVE_LEFT_TOP_FRONT_DSC_PWM_ID),new Victor(RobotMap.DRIVE_LEFT_REAR_DSC_PWM_ID),new Victor(RobotMap.DRIVE_RIGHT_TOP_FRONT_DSC_PWM_ID),new Victor(RobotMap.DRIVE_RIGHT_REAR_DSC_PWM_ID));

            m_drive.setSafetyEnabled(false);
            m_drive.setInvertedMotor(RobotDrive.MotorType.kFrontLeft,true);
            m_drive.setInvertedMotor(RobotDrive.MotorType.kRearLeft,true);
            m_drive.setInvertedMotor(RobotDrive.MotorType.kFrontRight,true);
            m_drive.setInvertedMotor(RobotDrive.MotorType.kRearRight,true);

            m_leftEncoder = new Encoder(
                    1,RobotMap.LEFT_DRIVE_ENCODER_A_DSC_dio_ID,RobotMap.LEFT_DRIVE_ENCODER_B_DSC_dio_ID,CounterBase.EncodingType.k4X);
            m_rightEncoder = new Encoder(
                    1,RobotMap.RIGHT_DRIVE_ENCODER_A_DSC_dio_ID,RobotMap.RIGHT_DRIVE_ENCODER_B_DSC_dio_ID,CounterBase.EncodingType.k4X);    

            m_leftEncoder.setdistancePerpulse(WHEEL_CIRCUM_IN / 360.0 / ENCODER_TO_WHEEL_GEAR_RATIO);
            m_rightEncoder.setdistancePerpulse(WHEEL_CIRCUM_IN / 360.0 / ENCODER_TO_WHEEL_GEAR_RATIO);

            resetEncoders();

            m_yawGyro = new Gyro(RobotMap.CHASSIS_YAW_RATE_ANALOG_BREAKOUT_PORT);
            m_yawGyro.setSensitivity(0.007);  // 7 mV/deg/sec

//            SmartDashboard.putNumber("Move NonLinear ",m_moveNonLinear);
//            SmartDashboard.putNumber("Steer NonLinear ",m_steerNonLinear);
//            SmartDashboard.putNumber("Move Scale ",m_moveScale);
//            SmartDashboard.putNumber("Steer Scale ",m_steerScale);
//            SmartDashboard.putNumber("Move Trim ",-m_moveTrim);
//            SmartDashboard.putNumber("Steer Trim ",m_steerTrim); 
        } catch (Exception e) {
            System.out.println("UnkNown error initializing chassis.  Message = " + e.getMessage());
        }
    }
项目:Team_3200_2014_Aerial_Assist    文件DriveBase.java   
private void init() {
        if (!initialized) {
            flTalon = new Talon(RobotMap.DIGITAL_MODULE,RobotMap.FL_WHEEL);
            frTalon = new Talon(RobotMap.DIGITAL_MODULE,RobotMap.FR_WHEEL);
            blTalon = new Talon(RobotMap.DIGITAL_MODULE,RobotMap.BL_WHEEL);
            brTalon = new Talon(RobotMap.DIGITAL_MODULE,RobotMap.BR_WHEEL);

            System.out.println("Module: "+ RobotMap.DIGITAL_MODULE +" used for drive.");
            System.out.println("FL wheel at: "+ RobotMap.FL_WHEEL +" FR wheel at: "+ RobotMap.FR_WHEEL);
            System.out.println("BL wheel at: "+ RobotMap.BL_WHEEL +" BR wheel at: "+ RobotMap.BR_WHEEL);

//            if (useRobotDrive)
                robotDrive = new RobotDrive(flTalon,blTalon,frTalon,brTalon);
//            else
//                robotDrive = null;

            aButton_Held = false;
            driveForward = true;
            SmartDashboard.putBoolean("Drive_Direction",driveForward);

            leftEncoder = new Encoder(RobotMap.DIGITAL_MODULE,RobotMap.LEFT_ENCODER_A,RobotMap.DIGITAL_MODULE,RobotMap.LEFT_ENCODER_B,CounterBase.EncodingType.k4X);
            rightEncoder = new Encoder(RobotMap.DIGITAL_MODULE,RobotMap.RIGHT_ENCODER_A,RobotMap.RIGHT_ENCODER_B,CounterBase.EncodingType.k4X);

    //        leftEncoder.setReverseDirection(false);
            leftEncoder.setReverseDirection(true); // Flipped on comp bot
            leftEncoder.setMinRate(10);
            leftEncoder.setdistancePerpulse(6 * Math.PI / 250);
            leftEncoder.start();
    //        rightEncoder.setReverseDirection(true);
            rightEncoder.setReverseDirection(false); // Flipped on comp bot
            rightEncoder.setMinRate(10);
            rightEncoder.setdistancePerpulse(6 * Math.PI / 250);
            rightEncoder.start();

            gyro = new Gyro(RobotMap.ANALOG_MODULE,RobotMap.GYRO);

            SmartDashboard.putNumber("Max turn speed",1);
        }
        initialized = true;
    }
项目:rover    文件RobotMap.java   
public static void init() {

    //initialize encoders
    frontWheelEncoder = new Encoder(1,CounterBase.EncodingType.k2X);
    frontWheelEncoder.setdistancePerpulse(WHEEL_ENCODER_disTANCE_PER_TICK);
    frontWheelEncoder.setPIDSourceParameter(PIDSource.PIDSourceParameter.kRate); // have encoder measure rate,not distance
    frontWheelEncoder.start();
    LiveWindow.addSensor("Drivetrain","frontWheelEncoder",frontWheelEncoder);
    leftWheelEncoder = new Encoder(1,3,4,CounterBase.EncodingType.k2X);
    leftWheelEncoder.setdistancePerpulse(WHEEL_ENCODER_disTANCE_PER_TICK); 
    leftWheelEncoder.setPIDSourceParameter(PIDSource.PIDSourceParameter.kRate); // have encoder measure rate,not distance
    leftWheelEncoder.start();
    LiveWindow.addSensor("Drivetrain","leftWheelEncoder",leftWheelEncoder);
    backWheelEncoder = new Encoder(1,5,6,CounterBase.EncodingType.k2X);
    backWheelEncoder.setdistancePerpulse(WHEEL_ENCODER_disTANCE_PER_TICK); 
    backWheelEncoder.setPIDSourceParameter(PIDSource.PIDSourceParameter.kRate); // have encoder measure rate,not distance
    backWheelEncoder.start();
    LiveWindow.addSensor("Drivetrain","backWheelEncoder",backWheelEncoder); 
    rightWheelEncoder = new Encoder(1,8,CounterBase.EncodingType.k2X);
    rightWheelEncoder.setdistancePerpulse(WHEEL_ENCODER_disTANCE_PER_TICK); 
    rightWheelEncoder.setPIDSourceParameter(PIDSource.PIDSourceParameter.kRate); // have encoder measure rate,not distance
    rightWheelEncoder.start();
    LiveWindow.addSensor("Drivetrain","rightWheelEncoder",rightWheelEncoder); 

    frontModuleEncoder = new Encoder(2,CounterBase.EncodingType.k2X);
    frontModuleEncoder.setdistancePerpulse(MODULE_ENCODER_disTANCE_PER_TICK); 
    frontModuleEncoder.setPIDSourceParameter(PIDSource.PIDSourceParameter.kdistance); // have encoder measure rate,not distance
    frontModuleEncoder.start();
    LiveWindow.addSensor("Drivetrain","frontModuleEncoder",frontModuleEncoder);
    leftModuleEncoder = new Encoder(2,CounterBase.EncodingType.k2X);
    leftModuleEncoder.setdistancePerpulse(MODULE_ENCODER_disTANCE_PER_TICK); 
    leftModuleEncoder.setPIDSourceParameter(PIDSource.PIDSourceParameter.kdistance); // have encoder measure rate,not distance
    leftModuleEncoder.start();
    LiveWindow.addSensor("Drivetrain","leftModuleEncoder",leftModuleEncoder);
    backModuleEncoder = new Encoder(2,CounterBase.EncodingType.k2X);
    backModuleEncoder.setdistancePerpulse(MODULE_ENCODER_disTANCE_PER_TICK); 
    backModuleEncoder.setPIDSourceParameter(PIDSource.PIDSourceParameter.kdistance); // have encoder measure rate,not distance
    backModuleEncoder.start();
    LiveWindow.addSensor("Drivetrain","backModuleEncoder",backModuleEncoder);
    rightModuleEncoder = new Encoder(2,CounterBase.EncodingType.k2X);
    rightModuleEncoder.setdistancePerpulse(MODULE_ENCODER_disTANCE_PER_TICK); 
    rightModuleEncoder.setPIDSourceParameter(PIDSource.PIDSourceParameter.kdistance); // have encoder measure rate,not distance
    rightModuleEncoder.start();
    LiveWindow.addSensor("Drivetrain","rightModuleEncoder",rightModuleEncoder);

    //initialize motors
    frontWheelMotor = new Victor246(1,1);
    LiveWindow.addActuator("Drivetrain","frontWheelMotor",(Victor) frontWheelMotor);
    leftWheelMotor = new Victor246(1,2);
    LiveWindow.addActuator("Drivetrain","leftWheelMotor",(Victor) leftWheelMotor);
    backWheelMotor = new Victor246(1,3);
    LiveWindow.addActuator("Drivetrain","backWheelMotor",(Victor) backWheelMotor);
    rightWheelMotor = new Victor246(1,4);
    LiveWindow.addActuator("Drivetrain","rightWheelMotor",(Victor) rightWheelMotor);

    frontModuleMotor = new Jaguar246(2,"frontModuleMotor",(Jaguar) frontModuleMotor);
    leftModuleMotor = new Jaguar246(2,"leftModuleMotor",(Jaguar) leftModuleMotor);
    backModuleMotor = new Jaguar246(2,"backModuleMotor",(Jaguar) backModuleMotor);
    rightModuleMotor = new Jaguar246(2,"rightModuleMotor",(Jaguar) rightModuleMotor);

    //initialize limit switch
    angleZeroingButton = new DigitalInput(1,9);
    LiveWindow.addSensor("Drivetrain","encoderZeroingSwitch",angleZeroingButton);
}
项目:frc-2013-offseason    文件Drive.java   
public Builder leftEncoder(int a,int b) {
    drive.leftEncoder = new Encoder(a,b,CounterBase.EncodingType.k1X);
    return this;
}
项目:frc-2013-offseason    文件Drive.java   
public Builder rightEncoder(int a,int b) {
    drive.rightEncoder = new Encoder(a,CounterBase.EncodingType.k1X);
    return this;
}
项目:FRC2013    文件Drive.java   
public Builder leftEncoder(int a,CounterBase.EncodingType.k1X);
    return this;
}
项目:FRC2013    文件Drive.java   
public Builder rightEncoder(int a,CounterBase.EncodingType.k1X);
    return this;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。