7 #include "../ComponentData/RobotData.h"
8 #include "../Config/Configurable.h"
9 #include "../Log/Loggable.h"
10 #include "../Utils/PID.h"
11 #include "../ComponentData/DrivetrainData.h"
12 #include "../SpeedController/AsyncCANJaguar.h"
13 #include "../SpeedController/LRTTalon.h"
14 #include "../ComponentData/ShooterData.h"
15 #include "../Pneumatics/Pneumatics.h"
16 #include "DigitalInput.h"
17 #include "../Network/MessageType.h"
18 #include "../Utils/SmarterDashboard.h"
20 #include "DigitalOutput.h"
22 #include "NetworkTables/NetworkTable.h"
36 virtual void onEnable();
37 virtual void onDisable();
39 virtual void enabledPeriodic();
40 virtual void disabledPeriodic();
42 virtual void Configure();
45 enum continuousFireState
48 RETRACT_LOADER_WAIT_FOR_LIFT = 1,
49 RETRACT_LOADER_WAIT_FOR_FALL = 2,
54 void fubarDoDisabledPeriodic();
56 void ManageShooterWheel(
int roller);
57 void ConfigurePIDObject(
PID *pid, std::string objName,
bool feedForward);
58 string m_configSection;
59 ofstream m_inner_file;
60 ofstream m_outer_file;
64 LRTTalon* m_talons[2];
68 DigitalInput* m_proximity;
69 continuousFireState m_fireState;
72 double m_errorsNormalized[2];
73 double m_errorIntegrals[2];
75 int atSpeedCounter[2];
77 double m_max_speed[2];
78 double m_target_speed[2];
79 double m_speed_setpoints[2][2];
83 int requiredCyclesAtSpeed;
84 int requiredCyclesDown;
85 double acceptableSpeedErrorNormalized[2], m_speedsRPM[2], m_periods[2];
86 double m_maxNormalizedCurrent;
87 double frisbeeDetectionThreshold;
93 int m_cyclesToContinueRetracting;
95 Notifier m_sensorProcessingNotifier;
97 DigitalOutput* m_flashlight;
102 static void DeNoiseSensorEntry(
void *param);
104 void DeNoiseSensor();
106 int m_sensorDeNoisingCycle;
110 #define NUM_SENSOR_VALS 5
111 DigitalInput* m_outerSensor;
112 int m_sensorVals[NUM_SENSOR_VALS];
118 int m_sensorStableTime;
121 bool frisbeeExitedLastCycle;
122 double m_flashlightBrightness;
123 int m_timeoutCounter;