Hallo zusammen,
ich bin noch recht neu in der LUA programmierung aber kann die Finger nicht davon lassen, arbeite an einem Telemetrie Screen.
Für den GPS Status bekomme ich via local gpsstatus = getValue("temp1") einen Wert von z.B. 113 zurück was bedeutet 11 Sats-3D Fix oder 42 für 4 Sats-2D Fix.
jetzt möchte ich von 113 zu "11-3D" als Text
Wie stelle ich das am elegantesten an?
z.B. könnte ich mir die Länge von "gpsstatus" angeben lassen (z.B. 3 Chars) und dann den letzten Char auf 2 oder 3 prüfen.
hmm wenn ich das richtig sehe sollte das mit string.sub klappen
~$ lua
Lua 5.2.1 Copyright (C) 1994-2012 Lua.org, PUC-Rio
> print(string.sub("113",-1))
3
> print(string.sub("42",-1))
2
> print(string.sub("113",1,-2))
11
> print(string.sub("42",1,-2))
4
sollte dann so aussehen
local gps_satnum = string.sub(getValue("temp1"),1,-2)
local gps_satfix = string.sub(getValue("temp1"),-1)
oder alternativ in einen string
local gps_sattext = string.sub(getValue("temp1"),1,-2) .. "-" .. string.sub(getValue("temp1"),-1) .. "D"
(hier das bsp in lua)
> print (string.sub("113",1,-2) .. "-" .. string.sub("113",-1) .. "D")
11-3D
> print (string.sub("42",1,-2) .. "-" .. string.sub("42",-1) .. "D")
4-2D
mist gerade daheim mal probiert. Allerdings wird LUA ohne die string lib geliefert. Also klappt das leider nicht :/