Visualizza messaggio singolo
Vecchio 27 novembre 15, 10:42   #1 (permalink)  Top
gugu_
User
 
Data registr.: 11-08-2014
Residenza: bologna
Messaggi: 252
telemetria taranis, a 200 corrisponde in realtà 216?

ciao! posto qua perchè non vorrei che fosse un OT di frsky taranis.

dunque. sono alle prime armi coi lua per la telemetria sulla taranis (companion 2.1.6; x9d+; x8r; naza2; zaggometry per la telemetria).
ho preso uno script già pronto per il zaggometry, si chiama olimetry e vedevo che non lo mangiava bene la taranis.
ho guardato qualche ciclo if, ad es. della qualità del segnale rssi.
l'originale di olimetry è:

local function rssiWidget(xCoord,yCoord)
local percent = 0

if getValueOrDefault("RSSI") > 38 then
percent = ((math.log(getValueOrDefault(200)-28, 10)-1)/(math.log(72, 10)-1))*100
else
percent = 0
end

if percent > 90 then
lcd.drawPixmap(xCoord + 4, yCoord + 1, "/SCRIPTS/TELEMETRY/OLIMETRY/RSSIh10.bmp")
elseif percent > 80 then
lcd.drawPixmap(xCoord + 4, yCoord + 1, "/SCRIPTS/TELEMETRY/OLIMETRY/RSSIh09.bmp")
elseif percent > 70 then
lcd.drawPixmap(xCoord + 4, yCoord + 1, "/SCRIPTS/TELEMETRY/OLIMETRY/RSSIh08.bmp")
elseif percent > 60 then
lcd.drawPixmap(xCoord + 4, yCoord + 1, "/SCRIPTS/TELEMETRY/OLIMETRY/RSSIh07.bmp")
elseif percent > 50 then
lcd.drawPixmap(xCoord + 4, yCoord + 1, "/SCRIPTS/TELEMETRY/OLIMETRY/RSSIh06.bmp")
elseif percent > 40 then
lcd.drawPixmap(xCoord + 4, yCoord + 1, "/SCRIPTS/TELEMETRY/OLIMETRY/RSSIh05.bmp")
elseif percent > 30 then
lcd.drawPixmap(xCoord + 4, yCoord + 1, "/SCRIPTS/TELEMETRY/OLIMETRY/RSSIh04.bmp")
elseif percent > 20 then
lcd.drawPixmap(xCoord + 4, yCoord + 1, "/SCRIPTS/TELEMETRY/OLIMETRY/RSSIh03.bmp")
elseif percent > 10 then
lcd.drawPixmap(xCoord + 4, yCoord + 1, "/SCRIPTS/TELEMETRY/OLIMETRY/RSSIh02.bmp")
elseif percent > 0 then
lcd.drawPixmap(xCoord + 4, yCoord + 1, "/SCRIPTS/TELEMETRY/OLIMETRY/RSSIh01.bmp")
else
lcd.drawPixmap(xCoord + 4, yCoord + 1, "/SCRIPTS/TELEMETRY/OLIMETRY/RSSIh00.bmp")
end

lcd.drawChannel(xCoord + 6, yCoord + 55, 200, LEFT + SMLSIZE)
lcd.drawText(lcd.getLastPos(), yCoord + 55, "dB", SMLSIZE)

end




sulla taranis in sostanza mi mette fisso l'immagine RSSIh00.bmp e mi dà come valore il voltaggio della batteria

(mi scrive ad es. 11,5 VdB )
allora ho capito che da me 200 sta per il voltaggio della batteria anche se sulla guida "lua scripting in opentx" vedo che effettivamente a 200 corrisponde l'rssi.

Allora ho modificato quel 200 e ci ho messo "rssi" ed effettivamente adesso il ciclo if funzia, cambiano le immagini in funzione dei decibel del segnale e mi dà come valore numerico il dato giusto in db.
Cioè:


local function rssiWidget(xCoord,yCoord)
local percent = 0

if getValueOrDefault("RSSI") > 38 then
-- ho messo "rssi" al posto di 200. tra l'altro da me 200 è il voltaggio, infatti compariva il V
percent = ((math.log(getValueOrDefault("RSSI")-28, 10)-1)/(math.log(72, 10)-1))*100
else
percent = 0
end

if percent > 90 then
..........(blablabla, il resto è uguale al precedente eh..)

lcd.drawChannel(xCoord + 6, yCoord + 55, "RSSI", LEFT + SMLSIZE)
-- ho tolto questo: lcd.drawText(lcd.getLastPos(), yCoord + 55, "dB", SMLSIZE)

end





Dopo questa lunga premessa, le domande sono:
a. è normale che "da me" la lista dei codici lua sia diversa? cioè a 200 corrisponda il voltaggio, che dovrebbe essere 216?
b. c'è un modo su companion o sulla taranis per vedere il listato delle mie sorgenti, quindi vedo che a 200 corrisponde il voltaggio etc etc?

grazie, scusate la prolissità.
gugu_ non è collegato   Rispondi citando