8 #include "AsyncCANJaguar.h"
10 #include "..\Config\ConfigManager.h"
11 #include "..\Config\Configurable.h"
12 #include "..\Utils\AsyncPrinter.h"
13 #include "..\Sensors\DriveEncoders.h"
14 #include "..\Utils\RunningSum.h"
31 ESC(
int channel,
LRTEncoder* encoder,
string name,
int brakeChannel);
41 ESC(
int channelA,
int channelB,
int brakeChannelA,
int brakeChannelB,
LRTEncoder* encoder,
string name);
49 ESC(
int channel,
LRTEncoder* encoder,
string name);
57 ESC(
int channelA,
int channelB,
LRTEncoder* encoder,
string name);
68 virtual void Configure();
74 void SetDutyCycle(
float dutycycle);
76 void SetForwardCurrentLimit(
float limit);
77 void SetReverseCurrentLimit(
float limit);
84 void DecrementMaxVDiff();
85 void IncrementMaxVDiff();
91 float DitheredBraking(
float dutyCycle,
float speed);
92 float CurrentLimit(
float dutyCycle,
float speed);
95 std::string namea, nameb;
100 float m_delta_voltage_limit;
105 float m_forwardCurrentLimit;
106 float m_reverseCurrentLimit;
108 struct brakeAndDutyCycle
114 brakeAndDutyCycle CalculateBrakeAndDutyCycle(
float target_speed,
115 float current_speed);