/
Sangak
/
ardupilot
Обзор
Документация
Войти
/
Sangak
/
ardupilot
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
libraries/AP_Scripting/tests/luacheck.lua
63 строки
2 KB
Christian Clauss
AP_Scripting: support Lua 5.2+ in luacheck test
13 апр 2026, 22:33
13 апр 2026, 22:33
3df6c1b
Код
Авторство
О чём код?
-- https://luacheck.readthedocs.io/en/stable/warnings.html ignore = {"111", -- Setting an undefined global variable. "113", -- Accessing an undefined global variable. "212/_.*", -- Unused argument. Ignore only when argument starts with a underscore "631", -- Line is too long. "611", -- A line consists of nothing but whitespace. "612", -- A line contains trailing whitespace. "614"} -- Trailing whitespace in a comment. -- These lua scripts are not for running on AP exclude_files = {"Tools/CHDK-Scripts/*", "modules/*", "libraries/AP_Scripting/tests/luacheck.lua", "lua-language-server/*"} -- Grab AP globals from docs file stds.ArduPilot = {} stds.ArduPilot.read_globals = {} local env = setmetatable({}, {__index = _G}) local docs_loader if _VERSION == "Lua 5.1" then docs_loader = assert(loadfile("libraries/AP_Scripting/docs/docs.lua")) setfenv(docs_loader, env) else docs_loader = assert(loadfile("libraries/AP_Scripting/docs/docs.lua", "t", env)) end assert(pcall(docs_loader)) for key, value in pairs(env) do local singleton = { other_fields = false } -- add sub-functions if type(value) == 'table' then singleton['fields'] = {} for s_key, _ in pairs(value) do singleton['fields'][s_key] = { other_fields = false } end end stds.ArduPilot.read_globals[key] = singleton end -- We cannot add enums to the docs without giving a value, we don't know the value until compile time -- There are only a few, so I have added them manually here. local function add_enum(singleton, enum) stds.ArduPilot.read_globals[singleton].fields[enum] = { other_fields = false } end add_enum('mission', 'MISSION_COMPLETE') add_enum('mission', 'MISSION_RUNNING') add_enum('mission', 'MISSION_STOPPED') add_enum('terrain', 'TerrainStatusOK') add_enum('terrain', 'TerrainStatusUnhealthy') add_enum('terrain', 'TerrainStatusDisabled') add_enum('gps', 'GPS_OK_FIX_3D_RTK_FIXED') add_enum('gps', 'GPS_OK_FIX_3D_RTK_FLOAT') add_enum('gps', 'GPS_OK_FIX_3D_DGPS') add_enum('gps', 'GPS_OK_FIX_3D') add_enum('gps', 'GPS_OK_FIX_2D') add_enum('gps', 'NO_FIX') add_enum('gps', 'NO_GPS') std = "lua53+ArduPilot"