Shift Logic - CVT Gearbox

Summary

The cvt gearbox shift logic controller handles the gear ratio selection of the transmission and torque converter lockup.

It is an extension of the vehicle controller and automatically gets called if a vehicle is equiped with an CVT transmission .


File Info

Filename shiftLogic-cvtGearbox.lua
Path /lua/vehicle/controller/shiftLogic-cvtGearbox.lua
Usage type Specific to vehicleController

JBeam Properties

number
type
20
default
How fast the gear ratio can actually decrease.
A lower number increases smoothness but delays response to vehicle speed.
number
type
5
default
How fast the gear ratio can actually increase.
A lower number increases smoothness but delays response to vehicle speed.
number
type
0.5
default
The responsiveness of the CVT to increase in throttle input
Higher number causes faster downshifting decision when throttle is applied
number
type
2
default
The responsiveness of the CVT to decrease in throttle input
Higher number causes faster upshifting decision when throttle is applied
string
type
PRNDS21M
default
The available shifting modes.
CVT transmissions only support P, R, N and D modes.
number
type
0
default
Minimum RPM at which the torque converter locks up.
This is based on the RPM of the converter output, so it will occur at the same speed even if the converter is heavily slipping.
number
type
RPM range over which the lockup clutch activates.
number
type
0
default
Smallest gear at which the torque converter will try to lock up.
string
type
N
default
Initial transmission gear when the car spawns.
number
type
0.5
default
How quickly the transmission will react.
Smaller numbers means the transmission will adjust it’s ratios more slowly.
number
type
highShiftUp
default
The high load engine RPM target for the engine with cvt gearbox.
The cvt will try to vary its ratio to achieve this engine speed when accelerating at full throttle.
number
type
lowShiftUp
default
The low load engine RPM target for the engine with cvt gearbox.
The low load engine RPM target for the engine with cvt gearbox.


Electrics

Name
Units/Values
Description
Name
lockupClutchRatio
Units/Values
0 to 1
Description
Indicates the position of the torque converter lockup clutch. 0 means it’s disengaged, while 1 means it’s fully locked.

Public Functions

Function name
Parameters
Description
Function name
gearboxBehaviorChanged
Parameters
behavior
Description
Switches between arcade and realistic gearbox modes.
Function name
shiftUp
Parameters
Description
Switches to the next position on the gear lever.
Function name
shiftDown
Parameters
Description
Switches to the previous position on the gear lever.
Function name
shiftToGearIndex
Parameters
index
Description
Shifts the gear lever to the selected position.
Function name
getGearName
Parameters
Description
Current gear the transmission is in.
Function name
getGearPosition
Parameters
Description
Current position of the automatic shifter.
Function name
sendTorqueData
Parameters
Description
Sends torque and power related data to the UI.

Public Properties

Name
Description
Name
brake
Description
Brake input
Name
checkEngine
Description
Indicates if the engine is disabled.
Name
clutchRatio
Description
Indicates clutch input. 1 is fully engaged, 0 is fully disengaged.
Name
currentGearIndex
Description
Current gear index of the gearbox.
Name
energyStorages
Description
Energy storage(s) associated to the engine
Name
engineLoad
Description
Engine load
Name
engineThrottle
Description
Throttle input.
Name
engineTorque
Description
Engine combustion torque, before friction losses.
Name
flywheelTorque
Description
Engine output torque.
Name
gearboxHandling
Description
List containing many of the parameters which influence gearbox shifting behavior.
Name
gearboxTorque
Description
Gearbox output torque.
Name
idleRPM
Description
Engine idle RPM
Name
ignition
Description
Indicates that the ignition is on.
Name
inputValues
Description
List containing the brake, throttle and clutch values.
Name
isArcadeSwitched
Description
Indicates if the gearbox is in arcade mode.
Name
isEngineRunning
Description
Indicates the engine is running
Name
isSportModeActive
Description
Indicates if sport mode is active.
Name
maxRPM
Description
Engine maximum RPM
Name
oilTemp
Description
Oil temperature of the engine.
Name
rpm
Description
Current engine RPM
Name
shiftPreventionData
Description
List containing the slip threshholds to prevent shifting.
Name
shiftBehavior
Description
List containing the current optimal shiftpoints defined by the vehicle controller.
Name
smoothedValues
Description
List containing a smoothed version of some properties.
Name
smoothedAvgAVInput
Description
Smoothed angular velocity of the gearbox input (rad/s)
Name
throttle
Description
Throttle input
Name
timer
Description
List containing current time values
Name
timerConstants
Description
List containing target values for the different timers, as set in the jbeam
Name
waterTemp
Description
Coolant temperature of the engine.

Example Usage

A vehicle controller section with parameters specific to this sub controller, defined within a transmission’s jbeam.

"vehicleController": {
    "automaticModes":"PRNDS",
    "cvtHighRPM":5900,
    "cvtLowRPM":600,
    "torqueConverterLockupRPM": 1800,
    "aggressionSmoothingDown":0.5,
    "cvtAggression":0.1,
    "aggressionHoldOffThrottleDelay":0,
},
Last modified: August 7, 2023

Any further questions?

Join our discord
Our documentation is currently incomplete and undergoing active development. If you have any questions or feedback, please visit this forum thread.