getController
Definition
-- @/lua/vehicle/controller.lua:224
local function getController(name)
return loadedControllers[name]
end
Callers
@/lua/vehicle/controller/esc.lua
onSelect = function()
controller.getController("esc").setESCMode(k)
return {"reload"}
@/lua/ge/extensions/scenario/busdriver.lua
--wpList = scenario_scenarios.getScenario().lapConfig
--getObjectByID(vehicleId):queueLuaCommand("controller.getController('busNextStopDsp').onDepartedStop( "..dumps({unpack(wpList, 1,#wpList)}).." )")
@/lua/ge/extensions/flowgraph/nodes/gameplay/traffic/signals/instance.lua
self.pinOut.sequenceData.value = instance:getSequence() or {}
self.pinOut.controllerData.value = instance:getController() or {}
end
@/lua/vehicle/controller/pneumatics/liftAxleControl.lua
local actuatorsControllerNameLift = jbeamData.actuatorsControllerNameLift
actuatorsControllerLift = controller.getController(actuatorsControllerNameLift)
if not actuatorsControllerLift then
local actuatorsControllerNameMain = jbeamData.actuatorsControllerNameMain
actuatorsControllerMain = controller.getController(actuatorsControllerNameMain)
if not actuatorsControllerMain then
@/lua/vehicle/controller/braking/transbrake.lua
onSelect = function()
controller.getController("transbrake").toggleTransbrake()
return {"reload"}
@/lua/vehicle/controller/advancedCouplerControl.lua
for _, condition in ipairs(couplerGroup.openForceConditions) do
local couplerController = controller.getController(condition.advancedCouplerControlName)
if couplerController and couplerController.typeName == "advancedCouplerControl" then
end
local groupController = controller.getController(controllerName)
if not groupController or groupController.typeName ~= "advancedCouplerControl" then
@/lua/ge/extensions/core/trafficSignals.lua
-- or mySignal:getSequence():setStep(stepIndex)
local ctrl = self:getController()
if ctrl then
else
local ctrl = self:getController() or {}
local seq = self:getSequence() or {}
function SignalInstance:getController()
return elementsById[self.controllerId]
-- isAbsolute uses the start of the sequence, ignoring the current time
local controller = self:getController()
local sequence = self:getSequence()
if self.active then
if self:getController() then
local valid = true
local sequence = self:getSequence()
local controller = self:getController()
if sequence.controllerStates and sequence.controllerStates[controller.name] then
else
self.priorityStateIndex = self:getController().defaultIndex or 1 -- priority state index is permanent, unless a sequence update resolves
end
if not self:getController() then
if not self._invalid then
if instance and instance._innerIdx then
local stateData = instance:getController():getStateData(state)
local stateAction = stateData and stateData.action or 'none'
@/lua/vehicle/controller/gauges/genericGauges.lua
for k, v in pairs(mergedConfig) do
local c = controller.getController(controllerPath .. k)
if c and c.setupGaugeData and c.updateGaugeData then
@/lua/vehicle/controller/tech/cosimulationCoupling.lua
while IMUs[i].ctrl == nil do
IMUs[i].ctrl = controller.getController('advancedIMU' .. IMUs[i].id)
IMUs[i].ctrl = controller.getController('advancedIMU' .. (IMUs[i].id + idOffset))
IMUs[i].ctrl = controller.getController('advancedIMU' .. IMUs[i].id)
IMUs[i].ctrl = controller.getController('advancedIMU' .. (IMUs[i].id + idOffset))
if IMUs[i].ctrl == nil then
for i = 1, #GPSs do
GPSs[i].ctrl = controller.getController('GPS' .. GPSs[i].id)
end
for i = 1, #idealRADARs do
idealRADARs[i].ctrl = controller.getController('idealRADARSensor' .. idealRADARs[i].id)
end
for i = 1, #roads do
roads[i].ctrl = controller.getController('roadsSensor' .. roads[i].id)
end
@/lua/vehicle/controller/loggerTemplate.lua
-- If this controller code is active (ie. specified in jbeam) you can call this method like this:
-- controller.getController("loggerTemplate").saveLogToCSV()
-- External name Internal name
@/lua/vehicle/controller/drivingDynamics/supervisors/components/diffControl.lua
local rearDiffName = jbeamData.rearDiffName or "lockRear"
relevantFrontDiff = controller.getController(frontDiffName)
relevantRearDiff = controller.getController(rearDiffName)
relevantFrontDiff = controller.getController(frontDiffName)
relevantRearDiff = controller.getController(rearDiffName)
@/lua/ge/extensions/flowgraph/nodes/vehicle/ai/aiParams.lua
veh:queueLuaCommand('if electrics.values.jatoInput then electrics.values.jatoInput = 1 end')
veh:queueLuaCommand([[local nc = controller.getController("nitrousOxideInjection")
if nc then
veh:queueLuaCommand('if electrics.values.jatoInput then electrics.values.jatoInput = 0 end')
veh:queueLuaCommand([[local nc = controller.getController("nitrousOxideInjection")
if nc then
@/lua/vehicle/controller/pneumatics/autoLevelSuspension.lua
actuator = controller.getController(actuatorName)
@/lua/vehicle/extensions/tech/vehicleSystemsCoupling.lua
if controller.getController('vehicleSystemsCoupling') == nil then
controller.loadControllerExternal('tech/vehicleSystemsCoupling', 'vehicleSystemsCoupling', {loadedByExtension = true})
couplingController = controller.getController('vehicleSystemsCoupling')
couplingController.initialSetup(config)
if couplingController == 'coupling' then
couplingController = controller.getController('vehicleSystemsCoupling')
end
@/ui/modules/apps/SimplePowertrainControl/app.js
// }).on('mousedown', function () {
// bngApi.activeObjectLua("if controller.getController('driveModes') then controller.getController('driveModes').nextDriveMode() else controller.getControllerSafe('esc').toggleESCMode() end")
// }))
// }).on('mousedown', function () {
// bngApi.activeObjectLua("if controller.getController('driveModes') then controller.getController('driveModes').nextDriveMode() else controller.getControllerSafe('esc').toggleESCMode() end")
// }))
// }).on('mousedown', function () {
// bngApi.activeObjectLua("controller.getController('nitrousOxideInjection').toggleActive()")
// }))
@/lua/ge/extensions/freeroam/dragRace.lua
opponentVehicle:queueLuaCommand('if electrics.values.jatoInput then electrics.values.jatoInput = 1 end')
opponentVehicle:queueLuaCommand([[local nc = controller.getController("nitrousOxideInjection")
if nc then
opponentVehicle:queueLuaCommand('if electrics.values.jatoInput then electrics.values.jatoInput = 0 end')
opponentVehicle:queueLuaCommand([[local nc = controller.getController("nitrousOxideInjection")
if nc then
@/lua/vehicle/controller/dragTimer.lua
state = "measuring"
controller.getController("transbrake").setTransbrake(false)
countdownTimer = 0
@/lua/vehicle/controller/controlModes.lua
generator = function(entries)
if controller.getController("controlModes") then
table.insert(entries, {title = "Modes", priority = 40, ["goto"] = "/root/playerVehicle/general/controlmodes/", icon = "settings", uniqueID = "controlModes"})
@/lua/ge/extensions/editor/cosimulationSignalEditor.lua
local function triggerStartLogging()
be:queueObjectLua(vehicles[selectedVehicleIdx].vid, "controller.getController('cosimulationCoupling').StartLogging()")
-- Stops executing the coupling.
local function stopExecute()
be:queueObjectLua(vehicles[selectedVehicleIdx].vid, "controller.getController('cosimulationCoupling').stop()")
be:queueObjectLua(vehicles[selectedVehicleIdx].vid, "controller.unloadControllerExternal('cosimulationCoupling')")
@/lua/vehicle/extensions/dynamicVehicleData.lua
controller.mainController.setGearboxMode("arcade")
local esc = controller.getController("esc")
if esc then
@/lua/vehicle/wheels.lua
local airspeed = absBehavior == "arcade" and electrics.values.airspeed or virtualAirspeed
--local airspeed = controller.getController("CMU").virtualSensors.virtual.speed or 0
local invAirspeed = 1 / (airspeed + 1e-30)
@/lua/vehicle/extensions/escCalibration.lua
log("D", "ESC", "Starting skew stiffness test")
esc = controller.getController("esc")
if not esc then
@/lua/vehicle/controller.lua
--Here we create a bit of special magic to deal with fire and forget controller access
--for example: controller.getController("abc").doSomething()
--in this case an error is thrown if "abc" is not a valid controller.
local function publishStateEvent(controllerName, ...)
local c = getController(controllerName)
if not c then
@/lua/vehicle/controller/drivingDynamics/CMU.lua
if updateActiveColor or updateOffColor or updateDoUpdate then
local driveModesController = controller.getController("driveModes")
if driveModesController then
@/lua/vehicle/controller/nitrousOxideInjection.lua
extensions.ui_simplePowertrainControl.setButton(M.name, "N2O", "powertrain_n2o", color, n2oData.tankRatio, string.format("controller.getController(%q).toggleActive()", M.name))
end
onSelect = function()
controller.getController(name).toggleActive()
return {"reload"}
@/ui/ui-vue/mockdata/inputBindings.js
"title": "ui.inputActions.vehicle.nextESCMode.title",
"onDown": "if controller.getController('driveModes') then controller.getController('driveModes').nextDriveMode() else controller.getControllerSafe('esc').nextESCMode() end",
"order": 21.1,
"title": "ui.inputActions.vehicle.nextESCMode.title",
"onDown": "if controller.getController('driveModes') then controller.getController('driveModes').nextDriveMode() else controller.getControllerSafe('esc').nextESCMode() end",
"order": 21.1,
"title": "ui.inputActions.vehicle.previousESCMode.title",
"onDown": "if controller.getController('driveModes') then controller.getController('driveModes').previousDriveMode() else controller.getControllerSafe('esc').previousESCMode() end",
"order": 21.2,
"title": "ui.inputActions.vehicle.previousESCMode.title",
"onDown": "if controller.getController('driveModes') then controller.getController('driveModes').previousDriveMode() else controller.getControllerSafe('esc').previousESCMode() end",
"order": 21.2,
"title": "ui.inputActions.vehicle.toggleESCMode.title",
"onDown": "if controller.getController('driveModes') then controller.getController('driveModes').nextDriveMode() else controller.getControllerSafe('esc').toggleESCMode() end",
"order": 21,
"title": "ui.inputActions.vehicle.toggleESCMode.title",
"onDown": "if controller.getController('driveModes') then controller.getController('driveModes').nextDriveMode() else controller.getControllerSafe('esc').toggleESCMode() end",
"order": 21,
@/lua/vehicle/controller/lineLock.lua
onSelect = function()
controller.getController(name).toggleLineLock()
return {"reload"}
@/lua/vehicle/controller/driveModes.lua
simpleControlButtons[id].offColorElectric = offColorElectric
simpleControlButtons[id].onClick = onClick or string.format("controller.getController(%q).nextDriveMode()", M.name)
updateSimpleControlButton(simpleControlButtons[id])
elseif setting.type == "controller" then
local controller = controller.getController(setting.controllerName)
if controller and controller.setParameters then
@/lua/ge/extensions/gameplay/drag/utils.lua
racer.vehObj:queueLuaCommand([[
local nc = controller.getController("nitrousOxideInjection")
if nc then
racer.vehObj:queueLuaCommand([[
local ts = controller.getController("twoStep")
if ts then ts.toggleTwoStep() end
racer.vehObj:queueLuaCommand([[
local tb = controller.getController("transbrake")
if tb then
racer.vehObj:queueLuaCommand([[
local tb = controller.getController("transbrake")
if tb then
racer.vehObj:queueLuaCommand([[
local nc = controller.getController("nitrousOxideInjection")
if nc then
racer.vehObj:queueLuaCommand([[
local nc = controller.getController("nitrousOxideInjection")
if nc then
@/lua/vehicle/controller/twoStepLaunch.lua
onSelect = function()
controller.getController("twoStepLaunch").toggleTwoStep()
return {"reload"}
onSelect = function()
controller.getController("twoStepLaunch").changeTwoStepRPM(100)
return {"reload"}
onSelect = function()
controller.getController("twoStepLaunch").changeTwoStepRPM(-100)
return {"reload"}
@/lua/vehicle/controller/4wd.lua
if shaft.mode == "disconnected" then
controller.getController(M.name).set4WDMode("connected")
else
else
controller.getController(M.name).set4WDMode("disconnected")
end
if rangeBox.mode == "low" then
controller.getController(M.name).setRangeMode("high")
else
else
controller.getController(M.name).setRangeMode("low")
end
for _, name in ipairs(driveModesDifferentialNames) do
local c = controller.getController(name)
if c then
for _, name in ipairs(driveModesTransfercaseNames) do
local c = controller.getController(name)
if c then
for _, name in ipairs(driveModesRangeNames) do
local c = controller.getController(name)
if c then
@/lua/vehicle/extensions/tech/techCore.lua
M.handleCycleESCMode = function(request)
if controller.getController("driveModes") then
controller.getController("driveModes").nextDriveMode()
if controller.getController("driveModes") then
controller.getController("driveModes").nextDriveMode()
else
M.handleSetESCMode = function(request)
if controller.getController("driveModes") then
controller.getController("driveModes").setDriveMode(request["mode"])
if controller.getController("driveModes") then
controller.getController("driveModes").setDriveMode(request["mode"])
end
local data
if controller.getController("driveModes") then
data = controller.getController("driveModes").getCurrentDriveModeKey()
if controller.getController("driveModes") then
data = controller.getController("driveModes").getCurrentDriveModeKey()
else
M.handleStopCosimulation = function(request)
controller.getController('cosimulationCoupling').stop()
controller.unloadControllerExternal('cosimulationCoupling')
@/lua/vehicle/controller/inputOutputDemo.lua
--If this controller code is active (ie. specified in jbeam) you can call this method like this:
--controller.getController("loggerTemplate").saveLogToCSV()
-- External name Internal name