
package com.edinarobotics.zed;

import com.edinarobotics.zed.subsystems.Drivetrain;
import com.edinarobotics.zed.subsystems.Shooter;

public class Components {
    private static Components instance;
    
    //Drivetrain constants
    private static final int FRONT_LEFT_DRIVE_JAGUAR = 1;
    private static final int FRONT_RIGHT_DRIVE_JAGUAR = 2;
    private static final int BACK_LEFT_DRIVE_JAGUAR = 3;
    private static final int BACK_RIGHT_DRIVE_JAGUAR = 4;
    
    //Shooter constants
    private static final int SHOOTER_JAGUAR_FIRST = 1;
    private static final int SHOOTER_JAGUAR_SECOND = 2;
    private static final int SHOOTER_ANGLING_JAGUAR = 3;
    
    //Subsystem objects
    public final Drivetrain drivetrain;
    public final Shooter shooter;
    
    /**
     * Private constructor for the Components singleton. This constructor
     * is only called once and handles creating all the robot subsystems.
     */
    private Components(){
        drivetrain = new Drivetrain(FRONT_LEFT_DRIVE_JAGUAR, FRONT_RIGHT_DRIVE_JAGUAR,
                BACK_LEFT_DRIVE_JAGUAR, BACK_RIGHT_DRIVE_JAGUAR);
        shooter = new Shooter(SHOOTER_JAGUAR_FIRST, SHOOTER_JAGUAR_SECOND, SHOOTER_ANGLING_JAGUAR);
    }
    
    /**
     * Returns a new instance of {@link Components}, creating one if null.
     * @return {@link Components}
     */
    public static Components getInstance() {
        if(instance == null){
            instance = new Components();
        }
        return instance;
    }
    
}

@@ -78,16 +78,134 @@
 etrain;%0A
+import com.edinarobotics.zed.subsystems.DrivetrainRotation;%0Aimport com.edinarobotics.zed.subsystems.DrivetrainStrafe;%0A
 import c
@@ -245,16 +245,16 @@
 hooter;%0A
-
 %0Apublic 
@@ -842,16 +842,124 @@
 etrain;%0A
+    public final DrivetrainStrafe drivetrainStrafe;%0A    public final DrivetrainRotation drivetrainRotation;%0A
     publ
@@ -1266,16 +1266,16 @@
 JAGUAR,%0A
-
         
@@ -1328,24 +1328,150 @@
 VE_JAGUAR);%0A
+        drivetrainStrafe = new DrivetrainStrafe(drivetrain);%0A        drivetrainRotation = new DrivetrainRotation(drivetrain);%0A
         shoo

Add DrivetrainStrafe and DrivetrainRotation to Components.