blob: 6b6f48dbad48eacd7135170455ecb800c1addf58 [file] [log] [blame]
Sabina Davisf4c5e762018-01-24 10:18:43 -08001#include "y2018/control_loops/drivetrain/drivetrain_base.h"
2
3#include "frc971/control_loops/drivetrain/drivetrain_config.h"
4
5#include "frc971/control_loops/state_feedback_loop.h"
6#include "y2018/control_loops/drivetrain/drivetrain_dog_motor_plant.h"
7#include "y2018/control_loops/drivetrain/polydrivetrain_dog_motor_plant.h"
8#include "y2018/control_loops/drivetrain/kalman_drivetrain_motor_plant.h"
9
10using ::frc971::control_loops::drivetrain::DrivetrainConfig;
11
12namespace y2018 {
13namespace control_loops {
14namespace drivetrain {
15
16using ::frc971::constants::ShifterHallEffect;
17
18const ShifterHallEffect kThreeStateDriveShifter{0.0, 0.0, 0.25, 0.75};
19
20const DrivetrainConfig &GetDrivetrainConfig() {
21 static DrivetrainConfig kDrivetrainConfig{
22 ::frc971::control_loops::drivetrain::ShifterType::SIMPLE_SHIFTER,
23 ::frc971::control_loops::drivetrain::LoopType::CLOSED_LOOP,
24 ::frc971::control_loops::drivetrain::GyroType::SPARTAN_GYRO,
25
26 ::y2018::control_loops::drivetrain::MakeDrivetrainLoop,
27 ::y2018::control_loops::drivetrain::MakeVelocityDrivetrainLoop,
28 ::y2018::control_loops::drivetrain::MakeKFDrivetrainLoop,
29
30 drivetrain::kDt, drivetrain::kRobotRadius, drivetrain::kWheelRadius,
31 drivetrain::kV,
32
33 drivetrain::kHighGearRatio, drivetrain::kLowGearRatio,
34 kThreeStateDriveShifter, kThreeStateDriveShifter,
35 true /* default_high_gear */, 0 /* down_offset if using constants use
36 constants::GetValues().down_error */,
37 0.4 /* wheel_non_linearity */, 1.0 /* quickturn_wheel_multiplier */,
38 };
39
40 return kDrivetrainConfig;
41};
42
43} // namespace drivetrain
44} // namespace control_loops
45} // namespace y2018