-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathChassis.cpp
More file actions
61 lines (49 loc) · 1.44 KB
/
Chassis.cpp
File metadata and controls
61 lines (49 loc) · 1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include "Chassis.h"
#include "Portnums.h"
Chassis::Chassis(int inLeft, int inRight, int inTilt) {
Initialized = false;
LeftJag = new CANJaguar(inLeft);
RightJag = new CANJaguar(inRight);
TiltJag = new CANJaguar(inTilt);
drivetrain = new RobotDrive(LeftJag, RightJag);
drivetrain->SetInvertedMotor(RobotDrive::kFrontRightMotor , true);
}
bool Chassis::Init() {
LeftJag->SetSafetyEnabled(false);
RightJag->SetSafetyEnabled(false);
TiltJag->SetSafetyEnabled(false);
Initialized = true;
return Initialized;
}
void Chassis::TankDrive(float inLeft, float inRight, float throttle, bool invert){
if (invert) {
drivetrain->TankDrive(-inRight * throttle, -inLeft * throttle);
}
else {
drivetrain->TankDrive(inLeft * throttle, inRight * throttle);
}
}
void Chassis::ArcadeDrive(float forward, float turn, float throttle, bool invert) {
if (invert) {
drivetrain->ArcadeDrive(-forward * throttle, turn * throttle, true);
}
else {
drivetrain->ArcadeDrive(forward * throttle, turn * throttle, true);
}
}
void Chassis::SetBrake() {
LeftJag->ConfigNeutralMode(CANJaguar::kNeutralMode_Brake);
RightJag->ConfigNeutralMode(CANJaguar::kNeutralMode_Brake);
}
void Chassis::SetCoast() {
LeftJag->ConfigNeutralMode(CANJaguar::kNeutralMode_Coast);
RightJag->ConfigNeutralMode(CANJaguar::kNeutralMode_Coast);
}
void Chassis::Disable() {
drivetrain->Drive(0,0);
}
void Chassis::Idle(){
}
void Chassis::ManualTilt(float speed) {
TiltJag->Set(speed);
}