nil verification in UpdateGlobalThrust for required SensorData fields
This commit is contained in:
25
main.lua
25
main.lua
@@ -710,6 +710,14 @@ function UpdateGlobalThrust()
|
|||||||
-- depending on the desired thrust vectors, some counteractive desired thrust vectors will be ignored
|
-- depending on the desired thrust vectors, some counteractive desired thrust vectors will be ignored
|
||||||
|
|
||||||
-- lateral thrust
|
-- lateral thrust
|
||||||
|
-- verify that SensorData.Velocity.Raw is not nil
|
||||||
|
if SensorData.Velocity.Raw == nil then
|
||||||
|
if Config.Debug then
|
||||||
|
print("DEBUG: SensorData.Velocity.Raw is nil, skipping UpdateGlobalThrust")
|
||||||
|
end
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
local desiredLateralThrustVectors = {}
|
local desiredLateralThrustVectors = {}
|
||||||
|
|
||||||
for f, v in pairs(SensorData.Velocity.Raw) do
|
for f, v in pairs(SensorData.Velocity.Raw) do
|
||||||
@@ -739,6 +747,14 @@ function UpdateGlobalThrust()
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- angular thrust
|
-- angular thrust
|
||||||
|
-- verify that SensorData.Gimbal.AngularRates is not nil
|
||||||
|
if SensorData.Gimbal.AngularRates == nil then
|
||||||
|
if Config.Debug then
|
||||||
|
print("DEBUG: SensorData.Gimbal.AngularRates is nil, skipping UpdateGlobalThrust")
|
||||||
|
end
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
local desiredAngularThrustVectors = {}
|
local desiredAngularThrustVectors = {}
|
||||||
|
|
||||||
for f, v in pairs(SensorData.Gimbal.AngularRates) do
|
for f, v in pairs(SensorData.Gimbal.AngularRates) do
|
||||||
@@ -933,6 +949,11 @@ function Main()
|
|||||||
print("Mainloop starting. Press 'q' to stop the loop and save configuration changes.")
|
print("Mainloop starting. Press 'q' to stop the loop and save configuration changes.")
|
||||||
while sentinel do
|
while sentinel do
|
||||||
|
|
||||||
|
PollSensors()
|
||||||
|
|
||||||
|
UpdateStabilization()
|
||||||
|
UpdateGlobalThrust()
|
||||||
|
|
||||||
-- Update monitor displays
|
-- Update monitor displays
|
||||||
if Config.Monitors.InstrumentPanelMonitor then
|
if Config.Monitors.InstrumentPanelMonitor then
|
||||||
displayInstrumentPanel(Config.Monitors.InstrumentPanelMonitor, SensorData)
|
displayInstrumentPanel(Config.Monitors.InstrumentPanelMonitor, SensorData)
|
||||||
@@ -947,10 +968,6 @@ function Main()
|
|||||||
partiallyUpdateThrusters(unindexedThrusters)
|
partiallyUpdateThrusters(unindexedThrusters)
|
||||||
end
|
end
|
||||||
|
|
||||||
PollSensors()
|
|
||||||
UpdateGlobalThrust()
|
|
||||||
UpdateStabilization()
|
|
||||||
|
|
||||||
local function getTerminateEvent()
|
local function getTerminateEvent()
|
||||||
local event, key, is_held = os.pullEventRaw("key")
|
local event, key, is_held = os.pullEventRaw("key")
|
||||||
if keys.getName(key) == "q" then
|
if keys.getName(key) == "q" then
|
||||||
|
|||||||
Reference in New Issue
Block a user