Class SwerveParser
- java.lang.Object
-
- frc.robot.subsystems.swervedrive.swerve.SwerveParser
-
public class SwerveParser extends java.lang.ObjectSwerve Drive JSON parser.
-
-
Constructor Summary
Constructors Constructor Description SwerveParser()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static voidcheckDirectory(java.io.File directory)Check directory structure.private static voidcheckMain(com.fasterxml.jackson.databind.JsonNode mainJson)Check the main json for correct attributes.private static voidcheckModule(com.fasterxml.jackson.databind.JsonNode moduleJson)Check module JSON config for existing values.private static java.lang.ObjectcreateEncoder(com.fasterxml.jackson.databind.JsonNode encoderConfig)Create SwerveEncoder from JSON config.private static com.ctre.phoenix.sensors.WPI_Pigeon2createGyro(com.fasterxml.jackson.databind.JsonNode gyroConfig)Create the gyro object based off the configuration.private static SwerveModule<?,?,?>createModule(com.fasterxml.jackson.databind.JsonNode mainJson, java.io.File moduleFile, SwerveModule.SwerveModuleLocation moduleLocation)Create SwerveModule from JSON configuration file.private static edu.wpi.first.wpilibj.motorcontrol.MotorControllercreateMotor(com.fasterxml.jackson.databind.JsonNode motorConfig)Create the motor controller based off the config.static SwerveDrivefromJSONDirectory(java.io.File directory)Create SwerveDrive from JSON configuration directory.private static com.fasterxml.jackson.databind.JsonNodeopenJson(java.io.File file)Open JSON file.private static voidsetModulePIDF(SwerveMotor motor, com.fasterxml.jackson.databind.JsonNode jsonPIDF)Set the PIDF for the module if the given JSON has the paramters.
-
-
-
Method Detail
-
openJson
private static com.fasterxml.jackson.databind.JsonNode openJson(java.io.File file)
Open JSON file.- Parameters:
file- JSON File to open.- Returns:
- JsonNode of file.
-
checkDirectory
private static void checkDirectory(java.io.File directory)
Check directory structure.- Parameters:
directory- JSON Configuration Directory
-
createMotor
private static edu.wpi.first.wpilibj.motorcontrol.MotorController createMotor(com.fasterxml.jackson.databind.JsonNode motorConfig)
Create the motor controller based off the config.- Parameters:
motorConfig- JSON Motor config object.- Returns:
- Motor Controller
-
createEncoder
private static java.lang.Object createEncoder(com.fasterxml.jackson.databind.JsonNode encoderConfig)
Create SwerveEncoder from JSON config.- Parameters:
encoderConfig- Swerve Encoder JSON config.- Returns:
- SwerveEncoder
-
createGyro
private static com.ctre.phoenix.sensors.WPI_Pigeon2 createGyro(com.fasterxml.jackson.databind.JsonNode gyroConfig)
Create the gyro object based off the configuration.- Parameters:
gyroConfig- Gyro configuration.- Returns:
- Gyro object.
-
checkModule
private static void checkModule(com.fasterxml.jackson.databind.JsonNode moduleJson)
Check module JSON config for existing values.- Parameters:
moduleJson- Module JSON object.
-
checkMain
private static void checkMain(com.fasterxml.jackson.databind.JsonNode mainJson)
Check the main json for correct attributes.- Parameters:
mainJson- Main JSON.
-
createModule
private static SwerveModule<?,?,?> createModule(com.fasterxml.jackson.databind.JsonNode mainJson, java.io.File moduleFile, SwerveModule.SwerveModuleLocation moduleLocation)
Create SwerveModule from JSON configuration file.- Parameters:
mainJson- Main JSON to pull from.moduleFile- Module specific JSON data to pull from.moduleLocation- Swerve module location that is being created.- Returns:
- SwerveModule
-
setModulePIDF
private static void setModulePIDF(SwerveMotor motor, com.fasterxml.jackson.databind.JsonNode jsonPIDF)
Set the PIDF for the module if the given JSON has the paramters.- Parameters:
motor- Motor to configure.jsonPIDF- JSON ndoe with values.
-
fromJSONDirectory
public static SwerveDrive fromJSONDirectory(java.io.File directory)
Create SwerveDrive from JSON configuration directory.- Parameters:
directory- JSON Configuration directory.- Returns:
- SwerveDrive
-
-