5#ifndef TR_EMBEDDED_CHASSIS_H
6#define TR_EMBEDDED_CHASSIS_H
18#define CAN_BUS_TYPE CANHandler::CANBUS_1
19#define MOTOR_TYPE M3508
20#define INPUT_THRESHOLD 0.01
26#define MAX_BEYBLADE_SPEED 1800
27#define BEYBLADE_ACCELERATION 0.05
47 Chassis(
short lfId,
short rfId,
short lbId,
short rbId, I2C *
i2c);
107 void driveAngle(
double angleRadians,
double speedRPM,
double rotationVelcotiyRPM);
117 void beyblade(
double xVelocityRPM,
double yVelocityRPM,
double turretAngleDegrees,
bool switchDirections);
205 double beybladeSpeed;
206 bool beybladeIncreasing;
210 double rpmToTicksPerSecond(
double RPM);
211 double ticksPerSecondToRPM(
double ticksPerSecond);
212 double ticksPerSecondToInchesPerSecond(
double ticksPerSecond);
213 double rpmToInchesPerSecond(
double RPM);
217 void setMotorPower(
int index,
double power);
218 void setMotorSpeedRPM(
int index,
double speed);
219 void setMotorSpeedTicksPerSecond(
int index,
double speed);
221 double getMotorSpeedRPM(
int index);
Definition ChassisKalman.h:39
int getHeadingDegreesRoll()
Definition Chassis.cpp:383
Pose2D getPose()
Definition Chassis.cpp:389
void driveFieldRelative(ChassisSpeeds speeds)
Definition Chassis.cpp:160
void setBrakeMode(BrakeMode brakeMode)
Definition Chassis.cpp:280
void initializeImu()
Definition Chassis.cpp:285
BrakeMode getBrakeMode()
Definition Chassis.cpp:275
ChassisSpeeds getSpeeds()
Definition Chassis.cpp:397
int testDataIndex
Definition Chassis.h:198
void driveAngle(double angleRadians, double speedRPM, double rotationVelcotiyRPM)
Definition Chassis.cpp:205
int testData[300][4]
Definition Chassis.h:197
double degreesToRadians(double degrees)
Definition Chassis.cpp:366
void periodic()
Definition Chassis.cpp:290
void driveOffsetAngle(ChassisSpeeds speeds, double angleOffset)
Definition Chassis.cpp:191
void driveXYR(ChassisSpeeds speeds)
Definition Chassis.cpp:111
void readImu()
Definition Chassis.cpp:361
int getHeadingDegreesPitch()
Definition Chassis.cpp:377
void beyblade(double xVelocityRPM, double yVelocityRPM, double turretAngleDegrees, bool switchDirections)
Definition Chassis.cpp:212
void driveOffsetAnglePower(float chassis_power, uint16_t chassis_power_limit, ChassisSpeeds speeds, double angleOffset, int dt, double &rotationalPower)
Definition Chassis.cpp:198
int8_t isInverted[4]
Definition Chassis.h:193
void driveXYRPower(float chassis_power, uint16_t chassis_power_limit, double lX, double lY, double dt, bool beyblading, double &rotationalPower)
Definition Chassis.cpp:116
void driveMotors(WheelSpeeds speeds)
Definition Chassis.cpp:102
double prevVel
Definition Chassis.h:195
void driveTurretRelative(ChassisSpeeds speeds, double turretAngleDegrees)
Definition Chassis.cpp:168
BrakeMode
Definition Chassis.h:53
@ COAST
Definition Chassis.h:55
@ BRAKE
Definition Chassis.h:54
void printMotorAngle()
Definition Chassis.cpp:180
bool allMotorsConnected()
DJIMotor getMotor(int index)
Definition Chassis.cpp:249
int getHeadingDegreesYaw()
Definition Chassis.cpp:371
void driveTurretRelativePower(float chassis_power, uint16_t chassis_power_limit, ChassisSpeeds speeds, double turretAngleDegrees, int dt, double &rotationalPower)
Definition Chassis.cpp:174
uint16_t chassis_power_limit
Definition ref_serial.h:305
Definition ChassisSubsystem.h:66
Definition ChassisSubsystem.h:43