engine-sim/transmission.py

28 lines
783 B
Python

from engine import Engine
class Transmission:
def __init__(self, engine):
self.clutch_pressure = 0
self.gear_ratios = [0,216,108,72,54,43,36]
self.selected_gear = 0
self.max_gear = 6
self.min_gear = -1
self.inertia = 0
self.engine = engine
def upshift(self):
self.selected_gear = min(self.selected_gear + 1, self.max_gear)
print(self.selected_gear)
def downshift(self):
self.selected_gear = max(self.selected_gear - 1, self.min_gear)
print(self.selected_gear)
def get_velocity(self):
if (self.selected_gear == 0):
return 0
return self.engine.rpm / self.gear_ratios[self.selected_gear]
def calculate_load(self):
return