diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
index 4a31450..8665696 100644
--- a/.idea/jarRepositories.xml
+++ b/.idea/jarRepositories.xml
@@ -86,5 +86,10 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 8abaa2e..89d252e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -7,7 +7,7 @@ plugins {
sourceCompatibility = '1.11'
targetCompatibility = '1.11'
group 'com.northeasternrobotics.wrappers'
-version '0.1.1'
+version '0.1.2'
java {
withSourcesJar()
diff --git a/src/main/java/com/northeasternrobotics/wrappers/encoders/AbstractSwerveAzmthEncoder.java b/src/main/java/com/northeasternrobotics/wrappers/encoders/AbstractSwerveAzmthEncoder.java
index 7d85e5a..e91d20b 100644
--- a/src/main/java/com/northeasternrobotics/wrappers/encoders/AbstractSwerveAzmthEncoder.java
+++ b/src/main/java/com/northeasternrobotics/wrappers/encoders/AbstractSwerveAzmthEncoder.java
@@ -9,4 +9,9 @@ public abstract class AbstractSwerveAzmthEncoder {
*/
public abstract double getRawAngle_rad();
+ /**
+ * @return The unwrapped encoder object
+ */
+ public abstract Object getUnwrappedEncoder();
+
}
diff --git a/src/main/java/com/northeasternrobotics/wrappers/encoders/CANCoder/RealCANCoder.java b/src/main/java/com/northeasternrobotics/wrappers/encoders/CANCoder/RealCANCoder.java
index 76a4fdf..3f6c5f3 100644
--- a/src/main/java/com/northeasternrobotics/wrappers/encoders/CANCoder/RealCANCoder.java
+++ b/src/main/java/com/northeasternrobotics/wrappers/encoders/CANCoder/RealCANCoder.java
@@ -37,6 +37,11 @@ public RealCANCoder(int can_id) {
cancoder.configAllSettings(config);
}
+ @Override
+ public Object getUnwrappedEncoder() {
+ return cancoder;
+ }
+
@Override
public double getRawAngle_rad() {
supplyVoltage = cancoder.getBusVoltage();
diff --git a/src/main/java/com/northeasternrobotics/wrappers/encoders/SRXEncoder/RealSRXEncoder.java b/src/main/java/com/northeasternrobotics/wrappers/encoders/SRXEncoder/RealSRXEncoder.java
index a4bfe9e..d27959d 100644
--- a/src/main/java/com/northeasternrobotics/wrappers/encoders/SRXEncoder/RealSRXEncoder.java
+++ b/src/main/java/com/northeasternrobotics/wrappers/encoders/SRXEncoder/RealSRXEncoder.java
@@ -24,6 +24,11 @@ public RealSRXEncoder(int port) {
m_dutyCycle = new DutyCycle(m_digitalInput);
}
+ @Override
+ public Object getUnwrappedEncoder() {
+ return m_digitalInput;
+ }
+
@Override
public double getRawAngle_rad() {
freq = m_dutyCycle.getFrequency(); //Track this for fault mode detection
diff --git a/src/main/java/com/northeasternrobotics/wrappers/encoders/Sim/SimSwerveAzmthEncoder.java b/src/main/java/com/northeasternrobotics/wrappers/encoders/Sim/SimSwerveAzmthEncoder.java
index f70c403..7d2e574 100644
--- a/src/main/java/com/northeasternrobotics/wrappers/encoders/Sim/SimSwerveAzmthEncoder.java
+++ b/src/main/java/com/northeasternrobotics/wrappers/encoders/Sim/SimSwerveAzmthEncoder.java
@@ -21,6 +21,11 @@ public SimSwerveAzmthEncoder(int port) {
SimDeviceBanks.addDIDevice(this, port);
}
+ @Override
+ public Object getUnwrappedEncoder() {
+ return this;
+ }
+
/**
* Simulates the encoder updating
*
diff --git a/src/main/java/com/northeasternrobotics/wrappers/encoders/ThriftyEncoder/RealThriftyEncoder.java b/src/main/java/com/northeasternrobotics/wrappers/encoders/ThriftyEncoder/RealThriftyEncoder.java
index b150b90..00f6927 100644
--- a/src/main/java/com/northeasternrobotics/wrappers/encoders/ThriftyEncoder/RealThriftyEncoder.java
+++ b/src/main/java/com/northeasternrobotics/wrappers/encoders/ThriftyEncoder/RealThriftyEncoder.java
@@ -24,6 +24,11 @@ public RealThriftyEncoder(int port) {
m_encoder = new AnalogEncoder(m_input);
}
+ @Override
+ public Object getUnwrappedEncoder() {
+ return m_encoder;
+ }
+
@Override
public double getRawAngle_rad() {
measVoltage = m_input.getVoltage();
diff --git a/src/main/java/com/northeasternrobotics/wrappers/encoders/WrapperedSwerveAzimuthEncoder.java b/src/main/java/com/northeasternrobotics/wrappers/encoders/WrapperedSwerveAzimuthEncoder.java
index b63e236..354d4f4 100644
--- a/src/main/java/com/northeasternrobotics/wrappers/encoders/WrapperedSwerveAzimuthEncoder.java
+++ b/src/main/java/com/northeasternrobotics/wrappers/encoders/WrapperedSwerveAzimuthEncoder.java
@@ -14,7 +14,6 @@
public class WrapperedSwerveAzimuthEncoder {
AbstractSwerveAzmthEncoder enc;
double curAngleRad;
- // TODO: Bring in oxconfig maybe?
double mountingOffset;
/**
@@ -47,6 +46,13 @@ public WrapperedSwerveAzimuthEncoder(SwerveAzmthEncType type, String prefix, int
this.mountingOffset = dfltMountingOffset_rad;
}
+ /**
+ * @return Motor controller object
+ */
+ public Object getUnwrappedEncoder() {
+ return enc.getUnwrappedEncoder();
+ }
+
/**
* Updates the abstracted swerve azimuth encoder values
*/
diff --git a/src/main/java/com/northeasternrobotics/wrappers/gyro/ADXRS453/RealADXRS453.java b/src/main/java/com/northeasternrobotics/wrappers/gyro/ADXRS453/RealADXRS453.java
index 2ef37a2..ee3c06b 100644
--- a/src/main/java/com/northeasternrobotics/wrappers/gyro/ADXRS453/RealADXRS453.java
+++ b/src/main/java/com/northeasternrobotics/wrappers/gyro/ADXRS453/RealADXRS453.java
@@ -22,6 +22,11 @@ public RealADXRS453() {
realGyro.calibrate();
}
+ @Override
+ public Object getUnwrappedGyro() {
+ return realGyro;
+ }
+
@Override
public void reset() {
realGyro.reset();
diff --git a/src/main/java/com/northeasternrobotics/wrappers/gyro/AbstractGyro.java b/src/main/java/com/northeasternrobotics/wrappers/gyro/AbstractGyro.java
index 089643b..c886628 100644
--- a/src/main/java/com/northeasternrobotics/wrappers/gyro/AbstractGyro.java
+++ b/src/main/java/com/northeasternrobotics/wrappers/gyro/AbstractGyro.java
@@ -4,6 +4,10 @@
* Abstract class for a gyro.
*/
public abstract class AbstractGyro {
+ /**
+ * @return gyro object
+ */
+ public abstract Object getUnwrappedGyro();
/**
* Resets the gyro to a heading of zero.
*/
diff --git a/src/main/java/com/northeasternrobotics/wrappers/gyro/NavX/RealNavx.java b/src/main/java/com/northeasternrobotics/wrappers/gyro/NavX/RealNavx.java
index 8be9083..27cfab0 100644
--- a/src/main/java/com/northeasternrobotics/wrappers/gyro/NavX/RealNavx.java
+++ b/src/main/java/com/northeasternrobotics/wrappers/gyro/NavX/RealNavx.java
@@ -20,6 +20,11 @@ public RealNavx() {
this.calibrate();
}
+ @Override
+ public Object getUnwrappedGyro() {
+ return ahrs;
+ }
+
@Override
public void reset() {
ahrs.reset();
diff --git a/src/main/java/com/northeasternrobotics/wrappers/gyro/SimGyro.java b/src/main/java/com/northeasternrobotics/wrappers/gyro/SimGyro.java
index f1aef04..ed66221 100644
--- a/src/main/java/com/northeasternrobotics/wrappers/gyro/SimGyro.java
+++ b/src/main/java/com/northeasternrobotics/wrappers/gyro/SimGyro.java
@@ -17,6 +17,11 @@ public SimGyro() {
SimDeviceBanks.addSPIDevice(this, 0); // TODO are we actually on CS 0?
}
+ @Override
+ public Object getUnwrappedGyro() {
+ return this;
+ }
+
@Override
public void reset() {
rate = 0;
diff --git a/src/main/java/com/northeasternrobotics/wrappers/gyro/WrapperedGyro.java b/src/main/java/com/northeasternrobotics/wrappers/gyro/WrapperedGyro.java
index bd5d7eb..dc54446 100644
--- a/src/main/java/com/northeasternrobotics/wrappers/gyro/WrapperedGyro.java
+++ b/src/main/java/com/northeasternrobotics/wrappers/gyro/WrapperedGyro.java
@@ -29,6 +29,13 @@ public WrapperedGyro(GyroType type) {
}
}
+ /**
+ * @return gyro object
+ */
+ public Object getUnwrappedGyro() {
+ return gyro.getUnwrappedGyro();
+ }
+
/**
* Updates the abstracted gyro values
*/
diff --git a/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/AbstractSimmableMotorController.java b/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/AbstractSimmableMotorController.java
index 75c6016..e461dea 100644
--- a/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/AbstractSimmableMotorController.java
+++ b/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/AbstractSimmableMotorController.java
@@ -4,6 +4,11 @@
* Abstract class for a Simulateable Motor Controller.
*/
public abstract class AbstractSimmableMotorController {
+ /**
+ * @return the wrapped motor controller object
+ */
+ public abstract Object getUnwrappedMotor();
+
/**
* @param invert if set to true inverts the motors direction
*/
diff --git a/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/CTRE/RealTalonFX.java b/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/CTRE/RealTalonFX.java
index c85db74..f0e2f84 100644
--- a/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/CTRE/RealTalonFX.java
+++ b/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/CTRE/RealTalonFX.java
@@ -90,6 +90,10 @@ public RealTalonFX(int can_id) {
}
}
+ @Override
+ public Object getUnwrappedMotor() {
+ return _talon;
+ }
@Override
public void setInverted(boolean invert) {
diff --git a/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/CTRE/RealTalonSRX.java b/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/CTRE/RealTalonSRX.java
index 69ac6a1..15ee3e4 100644
--- a/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/CTRE/RealTalonSRX.java
+++ b/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/CTRE/RealTalonSRX.java
@@ -88,6 +88,11 @@ public RealTalonSRX(int can_id) {
}
}
+ @Override
+ public Object getUnwrappedMotor() {
+ return _talon;
+ }
+
@Override
public void setInverted(boolean invert) {
_talon.setInverted(invert);
diff --git a/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/PlayingWithFusion/RealVenom.java b/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/PlayingWithFusion/RealVenom.java
index f1389d1..a34e796 100644
--- a/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/PlayingWithFusion/RealVenom.java
+++ b/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/PlayingWithFusion/RealVenom.java
@@ -21,6 +21,11 @@ public RealVenom(int can_id) {
_venom = new CANVenom(can_id);
}
+ @Override
+ public Object getUnwrappedMotor() {
+ return _venom;
+ }
+
@Override
public void setInverted(boolean invert) {
_venom.setInverted(invert);
diff --git a/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/REV/RealSparkMax.java b/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/REV/RealSparkMax.java
index f539743..a9fd8b1 100644
--- a/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/REV/RealSparkMax.java
+++ b/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/REV/RealSparkMax.java
@@ -55,6 +55,10 @@ public RealSparkMax(int can_id) {
}
+ @Override
+ public Object getUnwrappedMotor() {
+ return m_motor;
+ }
@Override
public void setInverted(boolean invert) {
diff --git a/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/Sim/SimSmartMotor.java b/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/Sim/SimSmartMotor.java
index c42ffa9..d4be88a 100644
--- a/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/Sim/SimSmartMotor.java
+++ b/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/Sim/SimSmartMotor.java
@@ -41,6 +41,11 @@ public SimSmartMotor(int can_id) {
SimDeviceBanks.addCANDevice(this, can_id);
}
+ @Override
+ public Object getUnwrappedMotor() {
+ return this;
+ }
+
@Override
public void setInverted(boolean invert) {
isInverted = invert;
diff --git a/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/WrapperedCANMotorCtrl.java b/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/WrapperedCANMotorCtrl.java
index a7ed45e..469ec0a 100644
--- a/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/WrapperedCANMotorCtrl.java
+++ b/src/main/java/com/northeasternrobotics/wrappers/motorcontrollers/WrapperedCANMotorCtrl.java
@@ -51,6 +51,13 @@ public WrapperedCANMotorCtrl(String prefix, int can_id, CANMotorCtrlType type) {
}
+ /**
+ * @return Motor controller object
+ */
+ public Object getUnwrappedMotor() {
+ return ctrl.getUnwrappedMotor();
+ }
+
/**
* Updates the abstracted controllers values
*/