Defined in include/vehicle2/drivetrain/PxVehicleDrivetrainFunctions.h

void PxVehicleAutoBoxUpdate(const PxVehicleEngineParams &engineParams, const PxVehicleGearboxParams &gearboxParams, const PxVehicleAutoboxParams &autoboxParams, const PxVehicleEngineState &engineState, const PxVehicleGearboxState &gearboxState, const PxReal dt, PxU32 &targetGearCommand, PxVehicleAutoboxState &autoboxState, PxReal &throttle)


The autobox will not begin a gear change if a gear change is already ongoing.


The autobox will not begin a gear change until a threshold time has lapsed since the last automated gear change.


A gear change is considered as ongoing for as long as PxVehicleGearboxState::currentGear is different from PxVehicleGearboxState::targetGear.


The autobox will not shift down from 1st gear or up from reverse gear.


The autobox shifts in single gear increments or decrements.


The autobox instantiates a gear change by setting PxVehicleCommandState::targetGear to be different from from PxVehicleGearboxState::currentGear

  • engineParams[in] specifies the engine configuration.

  • gearboxParams[in] specifies the gear ratios and the time required to complete a gear change.

  • autoboxParams[in] specifies the conditions for switching gear.

  • engineState[in] contains the current angular speed of the engine.

  • gearboxState[in] describes the current and target gear.

  • dt[in] is the time that has lapsed since the last call to PxVehicleAutoBoxUpdate.

  • targetGearCommand[inout] specifies the desired target gear for the gearbox. If set to PxVehicleEngineDriveTransmissionCommandState::eAUTOMATIC_GEAR, the value will get overwritten with a target gear chosen by the autobox.

  • autoboxState[out] specifies the time that has lapsed since the last automated gear change and contains a record of any ongoing automated gear change.

  • throttle[out] A throttle command value in [0, 1] that will be set to 0 if a gear change is initiated or is ongoing.