From 74222fe74d71e8fbf64277f53c1782a72464b7ab Mon Sep 17 00:00:00 2001 From: Peter Date: Thu, 24 Jun 2021 10:13:11 +1000 Subject: [PATCH] Lua scripts can detect EdgeTX via getVersion Add a sixth parameter to getVersion so that scripts can detect whether running on EdgeTX or OpenTX. i.e. `local ver, radio, maj, minor, rev, osname = getVersion()` --- radio/src/lua/api_general.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/radio/src/lua/api_general.cpp b/radio/src/lua/api_general.cpp index f3654af3d..d88af332f 100644 --- a/radio/src/lua/api_general.cpp +++ b/radio/src/lua/api_general.cpp @@ -99,7 +99,16 @@ If running in simulator the "-simu" is added * (number) minor version (ie 1 if version 2.1.5) * (number) revision number (ie 5 if version 2.1.5) -@status current Introduced in 2.0.0, expanded in 2.1.7, radio type strings changed in 2.2.0 +@retval multiple (available since 2.1.7) returns 6 values: + * (string) OpenTX version (ie "2.1.5") + * (string) radio type: `x12s`, `x10`, `x9e`, `x9d+`, `x9d` or `x7`. +If running in simulator the "-simu" is added + * (number) major version (ie 2 if version 2.1.5) + * (number) minor version (ie 1 if version 2.1.5) + * (number) revision number (ie 5 if version 2.1.5) + * (string) OS name ( i.e. EdgeTX or nil if OpenTX) + +@status current Introduced in 2.0.0, expanded in 2.1.7, radio type strings changed in 2.2.0, os name added in EdgeTX 2.4.0 ### Example @@ -107,12 +116,13 @@ This example also runs in OpenTX versions where the function returned only one v ```lua local function run(event) - local ver, radio, maj, minor, rev = getVersion() + local ver, radio, maj, minor, rev, osname = getVersion() print("version: "..ver) if radio then print ("radio: "..radio) end if maj then print ("maj: "..maj) end if minor then print ("minor: "..minor) end if rev then print ("rev: "..rev) end + if osname then print ("osname: "..osname) end return 1 end @@ -134,7 +144,8 @@ static int luaGetVersion(lua_State * L) lua_pushnumber(L, VERSION_MAJOR); lua_pushnumber(L, VERSION_MINOR); lua_pushnumber(L, VERSION_REVISION); - return 5; + lua_pushstring(L, "EdgeTX"); + return 6; } /*luadoc