Files
Avery Haas 120e4f505f init commit
2026-08-28 22:38:58 -04:00

26 lines
626 B
C++

#include "transmission.h"
void Transmission::set_gear(int gear) {
if (gear >= 0 && gear <= kNumGears) {
m_gear = gear;
}
}
int Transmission::gear() const {
return m_gear;
}
double Transmission::ratio() const {
return kGearRatios[m_gear] * kFinalDrive;
}
double Transmission::output_torque_nm(double engine_torque_nm) const {
if (m_gear == 0) return 0.0; // neutral: nothing reaches the wheels
return engine_torque_nm * ratio();
}
double Transmission::reflected_engine_rpm(double wheel_rpm) const {
if (m_gear == 0) return 0.0; // decoupled in neutral
return wheel_rpm * ratio();
}