<commit_before>
package org.usfirst.frc.team1778.robot;

import FreezyDrive.FreezyDriveTrain;
import NetworkComm.InputOutputComm;
import NetworkComm.RPIComm;
import StateMachine.AutoStateMachine;
import Systems.ShooterAssembly;
import edu.wpi.first.wpilibj.IterativeRobot;


/**
 * The VM is configured to automatically run this class, and to call the
 * functions corresponding to each mode, as described in the IterativeRobot
 * documentation. If you change the name of this class or the package after
 * creating this project, you must also update the manifest file in the resource
 * directory.
 */
public class Robot extends IterativeRobot {
	
	protected AutoStateMachine autoSM;
	/**
     * This function is run when the robot is first started up and should be
     * used for any initialization code.
     */
    public void robotInit() {
    	  	    	
		RPIComm.initialize();
		InputOutputComm.initialize();
        ShooterAssembly.initialize();
        FreezyDriveTrain.initialize();
        
		autoSM = new AutoStateMachine();
		
    	InputOutputComm.putString(InputOutputComm.LogTable.kMainLog,"MainLog","robot initialized...");        
    }
    
    public void autonomousInit() {
    	InputOutputComm.putString(InputOutputComm.LogTable.kMainLog,"MainLog","autonomous mode...");
    	RPIComm.autoInit();
    	    	
    	autoSM.start();
    }

    /**
     * This function is called periodically during autonomous
     */
    public void autonomousPeriodic() {
    	RPIComm.updateValues();
    	
    	autoSM.process();
    	
    }

    public void teleopInit() {
    	InputOutputComm.putString(InputOutputComm.LogTable.kMainLog,"MainLog","teleop mode...");

    	RPIComm.teleopInit();
    	ShooterAssembly.teleopInit();  	
    	FreezyDriveTrain.teleopInit();	
    }
    /**
     * This function is called periodically during operator control
     */
    public void teleopPeriodic() {
    	
    	RPIComm.updateValues();  
        ShooterAssembly.teleopPeriodic();	
        FreezyDriveTrain.teleopPeriodic();    
    }
    
    /**
     * This function is called periodically during test mode<commit_msg>Forgot to include this in the first big merge<commit_after>
package org.usfirst.frc.team1778.robot;

import FreezyDrive.FreezyDriveTrain;
import NetworkComm.InputOutputComm;
import NetworkComm.RPIComm;
import StateMachine.AutoStateMachine;
import Systems.BallManagement;
import edu.wpi.first.wpilibj.IterativeRobot;


/**
 * The VM is configured to automatically run this class, and to call the
 * functions corresponding to each mode, as described in the IterativeRobot
 * documentation. If you change the name of this class or the package after
 * creating this project, you must also update the manifest file in the resource
 * directory.
 */
public class Robot extends IterativeRobot {
	
	protected AutoStateMachine autoSM;
	/**
     * This function is run when the robot is first started up and should be
     * used for any initialization code.
     */
    public void robotInit() {
    	  	    	
		RPIComm.initialize();
		InputOutputComm.initialize();
        BallManagement.initialize();
        FreezyDriveTrain.initialize();
        
		autoSM = new AutoStateMachine();
		
    	InputOutputComm.putString(InputOutputComm.LogTable.kMainLog,"MainLog","robot initialized...");        
    }
    
    public void autonomousInit() {
    	InputOutputComm.putString(InputOutputComm.LogTable.kMainLog,"MainLog","autonomous mode...");
    	RPIComm.autoInit();
    	    	
    	autoSM.start();
    }

    /**
     * This function is called periodically during autonomous
     */
    public void autonomousPeriodic() {
    	RPIComm.updateValues();
    	
    	autoSM.process();
    	
    }

    public void teleopInit() {
    	InputOutputComm.putString(InputOutputComm.LogTable.kMainLog,"MainLog","teleop mode...");

    	RPIComm.teleopInit();
    	BallManagement.teleopInit();  	
    	FreezyDriveTrain.teleopInit();	
    }
    /**
     * This function is called periodically during operator control
     */
    public void teleopPeriodic() {
    	
    	RPIComm.updateValues();  
        BallManagement.teleopPeriodic();	
        FreezyDriveTrain.teleopPeriodic();    
    }
    
    /**
     * This function is called periodically during test mode
{'fraction_non_alphanumeric': 0.08877407233442931, 'fraction_numerical': 0.0018788163457022077, 'mean_word_length': 3.0217186024551466, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6539123', 'n_tokens_mistral': 1251, 'n_tokens_neox': 1197, 'n_words': 313}