2021-08-21 02:19:59 -04:00
|
|
|
// Copyright (c) FIRST and other WPILib contributors.
|
|
|
|
|
// Open Source Software; you can modify and/or share it under the terms of
|
|
|
|
|
// the WPILib BSD license file in the root directory of this project.
|
|
|
|
|
|
2025-11-07 19:55:43 -05:00
|
|
|
package org.wpilib.simulation;
|
2021-08-21 02:19:59 -04:00
|
|
|
|
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
|
|
|
|
|
|
|
|
import org.junit.jupiter.params.ParameterizedTest;
|
|
|
|
|
import org.junit.jupiter.params.provider.EnumSource;
|
2025-11-07 19:57:21 -05:00
|
|
|
import org.wpilib.hardware.accelerometer.ADXL345_I2C;
|
|
|
|
|
import org.wpilib.hardware.bus.I2C;
|
|
|
|
|
import org.wpilib.hardware.hal.HAL;
|
2021-08-21 02:19:59 -04:00
|
|
|
|
2021-12-09 12:20:08 -08:00
|
|
|
class ADXL345SimTest {
|
2021-08-21 02:19:59 -04:00
|
|
|
@ParameterizedTest
|
2023-07-18 12:52:43 -07:00
|
|
|
@EnumSource(ADXL345_I2C.Range.class)
|
|
|
|
|
void testInitI2C(ADXL345_I2C.Range range) {
|
2021-08-21 02:19:59 -04:00
|
|
|
HAL.initialize(500, 0);
|
|
|
|
|
|
2025-04-28 08:29:01 -07:00
|
|
|
try (ADXL345_I2C accel = new ADXL345_I2C(I2C.Port.kPort0, range)) {
|
2021-08-21 02:19:59 -04:00
|
|
|
ADXL345Sim sim = new ADXL345Sim(accel);
|
|
|
|
|
|
|
|
|
|
sim.setX(1.91);
|
|
|
|
|
sim.setY(-3.405);
|
|
|
|
|
sim.setZ(2.29);
|
|
|
|
|
|
|
|
|
|
assertEquals(1.91, accel.getX());
|
|
|
|
|
assertEquals(-3.405, accel.getY());
|
|
|
|
|
assertEquals(2.29, accel.getZ());
|
|
|
|
|
|
|
|
|
|
ADXL345_I2C.AllAxes allAccel = accel.getAccelerations();
|
|
|
|
|
assertEquals(1.91, allAccel.XAxis);
|
|
|
|
|
assertEquals(-3.405, allAccel.YAxis);
|
|
|
|
|
assertEquals(2.29, allAccel.ZAxis);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|