--[[------------------------------------------------------------------- TX Betriebszeit zur Akkulaufzeit-Überwachung App muss in jedem Modell zugeordnet werden Anzeige und Reset unter Zusatzfunktionen "TX-Betriebszeit Anzeige auch über Telemetrie-Fenster "TX-Betriebszeit" --]]------------------------------------------------------------------- -- globale Variablen local B_Zeit = 0 local BZ_Min_str, BZ_Std_str local f local lastTime = 0 --------------------------------------------------------------------------------- -- button are pressed local function keyPressed(key) if(key==KEY_1) then B_Zeit = 0 f = io.open("/BetriebsMin.txt","w") -- Betriebszeit neu speichern if(f) then io.write(f, B_Zeit,"\n") io.close(f) end end end -------------------------------------------------------------------------------- -- Draw in Setup pages local function printForm() local AnzStr = string.format("%s:%s", BZ_Std_str, BZ_Min_str) lcd.drawText(40, 10, AnzStr, FONT_MAXI) end -------------------------------------------------------------------------------- -- Draw the telemetry window for TX-Betriebszeit local function printTelemetry_BZ() lcd.drawText(15,1,string.format("%s:%s", BZ_Std_str, BZ_Min_str),FOND_MAXI) end -------------------------------------------------------------------------------- -- Draw the main form setup local function initForm(subform) form.setButton(1,"Reset",ENABLED) end --------------------------------------------------------------------------------- -- Runtime functions local function loop() local newTime = system.getTimeCounter() -- local TX_Data = system.getTxTelemetry() -- print(TX_Data.txCapacity) if newTime > (lastTime + 60000) then -- nach einer Min. lastTime = newTime B_Zeit = B_Zeit +1 f = io.open("/BetriebsMin.txt","w") -- Betriebszeit neu speichern if(f) then io.write(f, B_Zeit,"\n") io.close(f) end end local Std = math.floor(B_Zeit / 60) local Min = B_Zeit - Std * 60 BZ_Std_str = string.format("%10d", Std ) BZ_Min_str = string.format("%02d", Min ) end ------------------------------------------------------------------------- -- Application initialization local function init() lastTime = system.getTimeCounter() f = io.open("/BetriebsMin.txt","r") -- Gespeicherter Wert lesen if(f) then local data = io.read(f, 10 ) --Betriebszeit in Min. io.close(f) -- B_Zeit = tonumber(data) B_Zeit = data else B_Zeit = 0 end -- TM-Fenster für Betriebsstunden definieren system.registerTelemetry(1,"TX-Betriebszeit", 1, printTelemetry_BZ) system.registerForm(1,MENU_APPS,"TX-Betriebszeit",initForm, keyPressed, printForm) end -------------------------------------------------------------------------------- return {init=init, loop=loop, author="user", version="0.02", name= "Betriebsstunden"}