项目:2016Robot
文件:AccelerometerSampling.java
public void update(){
// Shift all of the values to the left once
for (int i = 0; i < numberOfSamples - 1; i++) {
xValues[i] = xValues[i + 1];
yValues[i] = yValues[i + 1];
zValues[i] = zValues[i + 1];
}
// Update all of the values with accelerometer
xValues[numberOfSamples - 1] = this.getX();
yValues[numberOfSamples - 1] = this.getY();
zValues[numberOfSamples - 1] = this.getZ();
// If all of the latest values are 0,then the accelerometer crashed. disablePID and stop the shooter aim motor,then try to re-initialize it.
if (xValues[numberOfSamples - 1] == 0 && yValues[numberOfSamples - 1] == 0 && zValues[numberOfSamples - 1] == 0) {
Robot.shooteraim.disablePID();
Robot.shooteraim.manualaim(0);
accelerometer = new ADXL345_I2C(I2C.Port.kOnboard,Accelerometer.Range.k4G);
}
}
项目:2015-frc-robot
文件:SensorInput.java
/**
* Instantiates the Sensor Input module to read all sensors connected to the roboRIO.
*/
private Sensorinput() {
limit_left = new DigitalInput(ChiliConstants.left_limit);
limit_right = new DigitalInput(ChiliConstants.right_limit);
accel = new BuiltInAccelerometer(Accelerometer.Range.k2G);
gyro = new Gyro(ChiliConstants.gyro_channel);
pdp = new PowerdistributionPanel();
left_encoder = new Encoder(ChiliConstants.left_encoder_channelA,ChiliConstants.left_encoder_channelB,false);
right_encoder = new Encoder(ChiliConstants.right_encoder_channelA,ChiliConstants.right_encoder_channelB,true);
gyro_i2c = new GyroITG3200(I2C.Port.kOnboard);
gyro_i2c.initialize();
gyro_i2c.reset();
gyro.initGyro();
left_encoder.setdistancePerpulse(ChiliConstants.kdistancePerpulse);
right_encoder.setdistancePerpulse(ChiliConstants.kdistancePerpulse);
}
项目:robot2017
文件:Robot.java
/**
* Sends the current mode (auto,teleop,or disabled) over I2C.
*
* @param i2C The I2C channel to send the data over.
* @param mode The current mode,represented as a String.
*/
private void sendModeOverI2C(I2C i2C,String mode) {
//If the I2C exists
if (i2C != null) {
//Turn the alliance and mode into a character array.
char[] Chararray = (allianceString + "_" + mode).tochararray();
//Transfer the character array to a byte array.
byte[] WriteData = new byte[Chararray.length];
for (int i = 0; i < Chararray.length; i++) {
WriteData[i] = (byte) Chararray[i];
}
//Send the byte array.
i2C.transaction(WriteData,WriteData.length,null,0);
}
}
项目:R2017
文件:BNO055.java
/**
* Instantiates a new BNO055 class.
*
* @param port the physical port the sensor is plugged into on the roboRio
* @param address the address the sensor is at (0x28 or 0x29)
*/
private BNO055(I2C.Port port,byte address) {
imu = new I2C(port,address);
executor = new java.util.Timer();
executor.schedule(new BNO055UpdateTask(this),0L,THREAD_PERIOD);
}
项目:R2017
文件:BNO055.java
/**
* Get an instance of the IMU object.
*
* @param mode the operating mode to run the sensor in.
* @param port the physical port the sensor is plugged into on the roboRio
* @param address the address the sensor is at (0x28 or 0x29)
* @return the instantiated BNO055 object
*/
public static BNO055 getInstance(opmode_t mode,vector_type_t vectorType,I2C.Port port,byte address) {
if(instance == null) {
instance = new BNO055(port,address);
}
requestedMode = mode;
requestedVectorType = vectorType;
return instance;
}
项目:CasseroleLib
文件:TCS34725ColorSensor.java
/**
* Constructor for TCS34725 Color Sensor from Adafruit. Initializes internal data structures and
* opens I2C coms to the device.
*/
TCS34725ColorSensor() {
color_sen = new I2C(Port.kOnboard,I2C_constants.TCS34725_I2C_ADDR);
sensor_initalized = false;
good_data_read = false;
}
项目:2016-Stronghold
文件:BNO055.java
/**
* Instantiates a new BNO055 class.
*
* @param port the physical port the sensor is plugged into on the roboRio
* @param address the address the sensor is at (0x28 or 0x29)
*/
private BNO055(I2C.Port port,address);
this.initialized = false;
this.state = 0;
executor = new java.util.Timer();
executor.schedule(new BNO055UpdateTask(this),THREAD_PERIOD);
}
项目:2016-Stronghold
文件:BNO055.java
/**
* Get an instance of the IMU object.
*
* @param mode the operating mode to run the sensor in.
* @param port the physical port the sensor is plugged into on the roboRio
* @param address the address the sensor is at (0x28 or 0x29)
* @return the instantiated BNO055 object
*/
public static BNO055 getInstance(opmode_t mode,byte address) {
if (instance == null) {
instance = new BNO055(port,address);
}
requestedMode = mode;
return instance;
}
项目:FRC-2017
文件:RioDuinoAssembly.java
public static void initialize() {
if (!initialized)
{
i2cBus = new I2C(I2C.Port.kMXP,4);
initialized = true;
setTeamColor();
}
}
项目:FRC2017
文件:CompassReader.java
public CompassReader(VariableStore variables)
{
m_i2c = new I2C(I2C.Port.kOnboard,deviceAddress);
m_i2c.write(2,0);
m_variables = variables;
alpha = variables.GetDouble(compassAlphaVariableName,alphaOrig);
beta = variables.GetDouble(compassBetaVariableName,betaOrig);
}
项目:FRCStronghold2016
文件:SparkfunGyro.java
public SparkfunGyro() {
mag = new I2C(I2C.Port.kOnboard,MAG_ADDR);
gyro = new I2C(I2C.Port.kOnboard,AG_ADDR);
buffer8[0] = 0;
initGyro();
//Bad startup values
//readCount(20);
//Calculate bias
bias = readCount(30);
bias /= 30;
}
/**
* Constructor: Create an instance of the object.
*
* @param instanceName specifies the instance name.
* @param port specifies the I2C port on the RoboRIO.
* @param devAddress specifies the I2C address of the device.
*/
public FrcPixyCam(final String instanceName,int devAddress)
{
super(instanceName);
if (debugEnabled)
{
dbgTrace = new TrcDbgTrace(moduleName + "." + instanceName,tracingEnabled,traceLevel,msgLevel);
}
pixyCam = new FrcI2cDevice(instanceName,devAddress);
start();
}
/**
* Constructor: Creates an instance of the object.
*
* @param instanceName specifies the instance name.
* @param port specifies the I2C port the device is connected to.
* @param devAddress specifies the address of the device on the I2C bus.
*/
public FrcI2cDevice(final String instanceName,Port port,msgLevel);
}
device = new I2C(port,devAddress);
}
项目:SparkFun6Dof
文件:ADXL345_I2C_SparkFun.java
/**
* Constructor.
* @param port The I2C port the accelerometer is attached to
* @param range The range (+ or -) that the accelerometer will measure.
*/
public ADXL345_I2C_SparkFun(I2C.Port port,Range range) {
m_i2c = new I2C(port,kAddress);
// Turn on the measurements
m_i2c.write(kPowerCtlRegister,kPowerCtl_Measure);
setRange(range);
UsageReporting.report(tResourceType.kResourceType_ADXL345,tInstances.kADXL345_I2C);
LiveWindow.addSensor("ADXL345_I2C",port.getValue(),this);
}
项目:SparkFun6Dof
文件:GyroITG3200.java
/** Default constructor,uses default I2C address.
* @see ITG3200_DEFAULT_ADDRESS
*/
public GyroITG3200( I2C.Port port )
{
devAddr = ITG3200_DEFAULT_ADDRESS;
m_i2c = new I2C(port,devAddr);
// Todo: This report is incorrect. Need to create instance for I2C ITG3200 Gyro
//UsageReporting.report( tResourceType.kResourceType_I2C,tInstances.?? );
LiveWindow.addSensor( "ITG3200_Gyro_I2C",this );
}
项目:SparkFun6Dof
文件:GyroITG3200.java
/** Specific address constructor.
* @param address I2C address
* @see ITG3200_DEFAULT_ADDRESS
* @see ITG3200_ADDRESS_AD0_LOW
* @see ITG3200_ADDRESS_AD0_HIGH
*/
public GyroITG3200( I2C.Port port,byte address )
{
devAddr = address;
m_i2c = new I2C( port,address );
// Todo: This report is incorrect. Need to create instance for I2C ITG3200 Gyro
//UsageReporting.report( tResourceType.kResourceType_I2C,this );
}
项目:BNO055_FRC
文件:BNO055.java
项目:BNO055_FRC
文件:BNO055.java
/**
* Get an instance of the IMU object.
*
* @param mode the operating mode to run the sensor in.
* @param port the physical port the sensor is plugged into on the roboRio
* @param address the address the sensor is at (0x28 or 0x29)
* @return the instantiated BNO055 object
*/
public static BNO055 getInstance(opmode_t mode,address);
}
requestedMode = mode;
requestedVectorType = vectorType;
return instance;
}
项目:turtleshell
文件:Robot.java
private void setupSensors() {
navX = new TurtleNavX(I2C.Port.kOnboard);
try {
lidar = new LIDARLite(I2C.Port.kMXP);
// new LIDARSerial(SerialPort.Port.kUSB1);
} catch (Exception e) {
e.printstacktrace();
lidar = new TurtleFakedistanceEncoder();
}
pdp = new PowerdistributionPanel();
}
public TurtleXtrinsicMagnetometer(I2C.Port port,TurtleXtrinsicMagnetometerCalibration calib) {
updateTimer = new java.util.Timer(true);
i2c = new I2C(port,address);
if (i2c == null) {
System.err.println("Null m_i2c");
}
// check to see if the I2C connection is working correctly
i2c.read(0x07,1,buffer);
System.out.println("WHO_AM_I: " + buffer[0]);
if ((Byte.toUnsignedInt(buffer[0])) != 0xc4) {
System.out.println("Something has gone terribly wrong.");
} else {
System.out.println("Found WHO_AM_I");
}
// settings for rate and measuring data
i2c.write(0x10,0b00011001);
i2c.write(0x11,0b10000000);
// calibration (done in code,so set to 0)
i2c.write(0x09,0b00000000);
i2c.write(0x0a,0b00000000);
i2c.write(0x0b,0b00000000);
i2c.write(0x0c,0b00000000);
i2c.write(0x0d,0b00000000);
i2c.write(0x0e,0b00000000);
this.setCalibration(calib);
// initial update
rateTimer.start();
update();
// Schedule the java.util.Timer to repeatedly update this sensor
updateTimer.schedule(new TurtleXtrinsicMagnetometerUpdater(),UPDATETIME,UPDATETIME);
}
项目:turtleshell
文件:LIDARLite.java
/**
* Instantiates LIDARLite with given port and update speed
*
* @param port
* @param updateMillis
*/
public LIDARLite(I2C.Port port,long updateMillis) {
sensor = new I2C(port,0x62);
Timer.delay(1.5);
// sensor
SmartDashboard.putBoolean("SensorAddress - false is success",sensor.addressOnly());
// Configure Sensor. See
// http://static.garmin.com/pumac/LIDAR_Lite_v3_Operation_Manual_and_Technical_Specifications.pdf
sensor.write(0x02,0x80); // Maximum number of acquisitions during
// measurement
sensor.write(0x04,0x08); // Acquisition mode control
sensor.write(0x1c,0x00); // Peak detection threshold bypass
reset();
new java.util.Timer().schedule(new TimerTask() {
@Override
public void run() {
distance = measuredistance();
veLocity = measureVeLocity();
// System.out.println(distance.getInches()+"
// "+veLocity.getValue());
}
},updateMillis,updateMillis);
}
项目:turtleshell
文件:LIDARSerial.java
/**
* Instantiates LIDARLite with given port and update speed
*
* @param port
* @param updateMillis
*/
public LIDARSerial(I2C.Port port,0x62);
Timer.delay(1.5);
// sensor
SmartDashboard.putBoolean("SensorAddress",0x00); // Peak detection threshold bypass
reset();
t = new java.util.Timer();
t.schedule(new TimerTask() {
@Override
public void run() {
distance = measuredistance();
veLocity = measureVeLocity();
// System.out.println(distance.getInches()+" "+veLocity.getValue());
}
},updateMillis);
}
/**
* Magnetometer constructor,address is precoded. MAKE SURE TO CALIBRATE
* BEFORE USING
*/
public TurtleXtrinsicMagnetometer(I2C.Port port) {
i2c = new I2C(port,address);
if (i2c == null) {
System.out.println("Null m_i2c");
}
// check to see if the I2C connection is working correctly
i2c.read(0x07,0b00000000);
this.setCalibration(this.generateCalibration());
// initial update
update();
prevAngle = angle = 0;
rateTimer.start();
}
public void init(Environment environment) {
accel = new ADXL345_I2C(RobotMap.ACCELEROMETER_PORT,ADXL345_I2C.DataFormat_Range.k4G);
i2c = new I2C(DigitalModule.getInstance(1),DEVICE_ADDRESS);
i2c.setCompatabilityMode(true);
timer = new Timer();
timer.start();
}
项目:Robotics2014
文件:GY85_I2C.java
public void setupCompass() {
if(clear){
clear = false;
cwrite = new I2C(DigitalModule.getInstance(1),0x3C);
cread = new I2C(DigitalModule.getInstance(1),0x3D);
cwrite.write(0,88);
cwrite.write(1,64);
cwrite.write(2,0);
}
clear = true;
}
项目:Robotics2014
文件:GY85_I2C.java
public void setupGyro() {
if(clear){
clear = false;
gwrite = new I2C(DigitalModule.getInstance(1),0xD1);
gread = new I2C(DigitalModule.getInstance(1),0xD0);
gwrite.write(21,Wiring.SAMPLE_RATE);
gwrite.write(22,0x1A);
}
clear = true;
}
项目:Robotics2014
文件:GY85_I2C.java
public void setupAccel() {
if(clear){
clear = false;
awrite = new I2C(DigitalModule.getInstance(1),0xA6);
aread = new I2C(DigitalModule.getInstance(1),0xA7);
awrite.write(44,0x0A);
awrite.write(45,0x08);
awrite.write(49,0x08);
}
clear = true;
}
项目:2015-frc-robot
文件:ADXL345_I2C_SparkFun.java
项目:2015-frc-robot
文件:GyroITG3200.java
/** Default constructor,this );
}
项目:2015-frc-robot
文件:GyroITG3200.java
/** Specific address constructor.
* @param address I2C address
* @see ITG3200_DEFAULT_ADDRESS
* @see ITG3200_ADDRESS_AD0_LOW
* @see ITG3200_ADDRESS_AD0_HIGH
*/
public GyroITG3200( I2C.Port port,this );
}
项目:Robot_2017
文件:PixyI2C.java
public PixyI2C() {
pixy = new I2C(port,0x54);//Todo: check number
packets = new PixyPacket[7];
pExc = new PixyException(print);
values = new PixyPacket();
}
项目:MinuteMan
文件:S_Arduino.java
项目:2017SteamBot2
文件:Arduino.java
public Arduino(){
i2c = new I2C(I2C.Port.kOnboard,84);
commands = new ArrayList<byte[]>();
}
项目:Stronghold2016
文件:RegisterIO_I2C.java
public RegisterIO_I2C( I2C i2c_port ) {
port = i2c_port;
}
项目:FRC2017
文件:GyroReader.java
public GyroReader()
{
m_i2c = new I2C(I2C.Port.kOnboard,deviceAddress);
}