From 61d302980967f05f3e8a4957dfc45c859559cdf0 Mon Sep 17 00:00:00 2001 From: Hans Christian Olaussen <41271048+klutvott123@users.noreply.github.com> Date: Mon, 13 Mar 2023 14:08:18 +0100 Subject: [PATCH] Create empty vtx table if not available --- src/SCRIPTS/BF/PAGES/vtx.lua | 5 ++--- src/SCRIPTS/BF/vtx_tables.lua | 14 ++++++++++---- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/SCRIPTS/BF/PAGES/vtx.lua b/src/SCRIPTS/BF/PAGES/vtx.lua index b40e912..e2a978e 100644 --- a/src/SCRIPTS/BF/PAGES/vtx.lua +++ b/src/SCRIPTS/BF/PAGES/vtx.lua @@ -12,9 +12,8 @@ local labels = {} local fields = {} local vtx_tables -local f = loadScript("VTX_TABLES/"..mcuId..".lua") -if apiVersion >= 1.42 and f then - vtx_tables = f() +if apiVersion >= 1.42 then + vtx_tables = assert(loadScript("VTX_TABLES/"..mcuId..".lua"))() else vtx_tables = assert(loadScript("VTX_TABLES/vtx_defaults.lua"))() end diff --git a/src/SCRIPTS/BF/vtx_tables.lua b/src/SCRIPTS/BF/vtx_tables.lua index 1340af8..d7edbba 100644 --- a/src/SCRIPTS/BF/vtx_tables.lua +++ b/src/SCRIPTS/BF/vtx_tables.lua @@ -2,7 +2,6 @@ local MSP_VTX_CONFIG = 88 local MSP_VTXTABLE_BAND = 137 local MSP_VTXTABLE_POWERLEVEL = 138 -local vtxAvailable = true local vtxTableAvailable = false local vtxConfigReceived = false local vtxFrequencyTableReceived = false @@ -12,7 +11,6 @@ local requestedBand = 1 local requestedPowerLevel = 1 local vtxTableConfig = {} local frequencyTable = {} -local frequenciesPerBand = 0 local bandTable = {} local powerTable = {} @@ -22,7 +20,15 @@ local INTERVAL = 100 local function processMspReply(cmd, payload, err) if cmd == MSP_VTX_CONFIG then if err then - vtxAvailable = false + -- Vtx not available. Create empty vtx table to skip future download attempts + frequencyTable[1] = {} + vtxTableConfig.channels = 0 + bandTable = { [0] = "U", "1" } + powerTable = { "LV0" } + vtxConfigReceived = true + vtxTableAvailable = true + vtxFrequencyTableReceived = true + vtxPowerTableReceived = true return end vtxConfigReceived = true @@ -118,7 +124,7 @@ local function getVtxTables() end mspProcessTxQ() processMspReply(mspPollReply()) - return vtxTablesReceived or not vtxAvailable + return vtxTablesReceived end return { f = getVtxTables, t = "Downloading VTX tables" }