Update to 2024.0.5.4

This commit is contained in:
thenetworkgrinch
2024-09-03 14:46:24 -05:00
parent 5de1570643
commit 689634ab69
117 changed files with 583 additions and 252 deletions

View File

@@ -11,7 +11,7 @@ import edu.wpi.first.wpilibj.SPI;
import edu.wpi.first.wpilibj.SerialPort.Port;
import swervelib.encoders.AnalogAbsoluteEncoderSwerve;
import swervelib.encoders.CANCoderSwerve;
import swervelib.encoders.CanAndCoderSwerve;
import swervelib.encoders.CanAndMagSwerve;
import swervelib.encoders.PWMDutyCycleEncoderSwerve;
import swervelib.encoders.SparkMaxAnalogEncoderSwerve;
import swervelib.encoders.SparkMaxEncoderSwerve;
@@ -69,12 +69,14 @@ public class DeviceJson
return null;
case "integrated":
case "attached":
case "canandmag":
case "canandcoder":
return new SparkMaxEncoderSwerve(motor, 360);
case "sparkmax_analog":
return new SparkMaxAnalogEncoderSwerve(motor, 3.3);
case "canandcoder_can":
return new CanAndCoderSwerve(id);
case "canandmag_can":
return new CanAndMagSwerve(id);
case "ctre_mag":
case "rev_hex":
case "throughbore":

View File

@@ -1,5 +1,6 @@
package swervelib.parser.json;
import com.revrobotics.AbsoluteEncoder;
import com.revrobotics.CANSparkMax;
import com.revrobotics.MotorFeedbackSensor;
import edu.wpi.first.math.util.Units;
@@ -11,6 +12,7 @@ import swervelib.parser.SwerveModulePhysicalCharacteristics;
import swervelib.parser.json.modules.BoolMotorJson;
import swervelib.parser.json.modules.ConversionFactorsJson;
import swervelib.parser.json.modules.LocationJson;
import swervelib.telemetry.Alert;
/**
* {@link swervelib.SwerveModule} JSON parsed class. Used to access the JSON data.
@@ -138,6 +140,13 @@ public class ModuleJson
"Conversion factors cannot be 0, please configure conversion factors in physicalproperties.json or the module JSON files.");
}
// Backwards compatibility, auto-optimization.
if (conversionFactor.angle == 360 && absEncoder != null &&
absEncoder.getAbsoluteEncoder() instanceof AbsoluteEncoder && angleMotor.getMotor() instanceof CANSparkMax)
{
angleMotor.setAbsoluteEncoder(absEncoder);
}
return new SwerveModuleConfiguration(
drive.createMotor(true),
angleMotor,