-- Telemetry script: RES Training App -- ################################# -- -- version 13 21.08.2021 -- by ChrisOHara -- written on OpenTX version 2.3.7 -- for Horus and Taranis radios (but may run on other openTX radios) -- This Software is free -- -- Information: Using a barometer this software is not allowed in official RES competion. -- -- Requirements: Telemetry value "Alt" (so a barometer is required) -- Momentary switch "sf" and "sg" -- (switches can be changed by altering software definitions, switchname_one and switchname_two) -- -- -- Reaching 5m (starting height) you will hear a beep (1000 Hz). -- During the following 15 seconds you can start the timer by operating momentary switch "sf" or "sg" -- when plane is released from leash. -- If you do not operate a switch the timer will start after 15 seconds on its own. -- When timer starts the current altitude is announced. -- -- reaching landing height (2m) there is another beep (1000Hz). -- During the next 15 seconds you can stop the timer by operating momentary switch "sf" or "sg" -- when having contact with ground. -- If you do not operate a switch the timer will stop after 15 seconds on its own. -- When timer stops you can hear a beep (2000Hz). -- -- Hint: If you do not use a switch you will get the flighttime between -- 5m (starting altidude) and 2m (landing altidude). -- -- The script does use/define timer 1 on its own. (6 minutes, countdown) -- -- The last flights will be displayed. -- Horus: max is 2,6,8,19 depending on screen zone you select for widget -- Taranis: max is 8 -- -- Information displayed: -- Flight = Start-time of flight hour:minutes (newest flight always on top) -- Time = Flight-time in minutes:seconds -- Alt-S = starting altidude -- Alt-F = maximum altidude (during flight from start timer to stop timer) -- -- New features in Version 13: -- 1. When timer is started the current altitude is anounced (instead of beep). -- 2. The script does work also with unit "ft", when unit "ft" is set for telemetry value "Alt". -- Starting-/landing-altitude (5m and 2m) are automatically recalculated in "ft". -- 3. Time slot for starting and stopping timer is now 15 seconds (was 10). -- 4. While flying there is no realistic chance to read the displayed list. -- So the display now shows altitude and time as large as possible instead (only while flight is going on) -- 6. The file dummy.lua in /SCRIPTS/TELEMETRY/ is no longer needed. -- 7. Did some optimization concerning CPU usage in the Horus version. -- -- New features in Version 11: -- 1. If receiver is switch off you get a 3s beep and a warning on the screen "not armed". -- If you don't like that you search the two lines starting with "-- armed-warning" at the end -- and change the line to comment. -- (I added this function after I successfully launching my plane without switching on the receiver. Haha) -- 2. The GR6 firmware (at least access version) has a firmware bug. When switching on the receiver the altitdue rises -- from zero to geografical altitude. Therefore openTX function auto-offset does not work properly and also this -- lua script wrongly started a flight. Now the script does reset the telemetry value "Alt" (and "VSpd") three seconds -- after the receiver is switched on. But this works only for OpenTx 2.3.11 or higher. -- For older releases there is only one solution: Do switch on the receiver first and then switch on the transmitter. -- Or select the model after switching on the receiver. -- 3. In the Horus version the code was moved from the telemetry script to the widget (telemetry script is a dummy now) -- -- Installation: -- Horus: Copy /WIDGETS/res_H/main.lua to the sd_card of your Horus. -- Add the widget res_H to your telemetry screen. -- Taranis: Copy /SCRIPTS/TELEMETRY/res_T.lua to the sd_card of your Taranis. -- Add the script res_T to your telemetry screen. -- -- Errors: Scripts aborts when function getValue() is called with nil. -- reason: Telemetry value "Alt" is not available or -- one or both switches "sf" or "sg" are not available.(change script, define other switches -- in "switchname_one" and/or "switchname_two") -- -- -- Telemetry Script: Trainingsprogramm für RES Flieger -- #################################################### -- -- version 13 21.08.2021 -- von ChrisOHara -- geschrieben mit OpenTX version 2.3.7 -- für Horus and Taranis Radios (läuft aber eventuell auch auf anderen openTX Radios) -- diese Software ist frei -- -- Hinweis: Da ein Barometer verwendet wird, ist die Software nicht in einem RES Wettbewerb erlaubt. -- -- Voraussetzungen: -- Benötigt wird der Telemetriewert "Alt" (Höhe/Barometer). -- Momentary Schalter "sf" oder "sg" -- (kann im script verändert werden über switchname_one und switchname_two) -- -- Bei 5m (Starthöhe) ertönt ein Beep (1000 Hz). -- Innerhalb der nächsten 15 Sekunden kann man durch Drücken der Tasten "sf" -- oder "sg" (beim Ausklinken des Seils) den Timer starten. -- Drückt man keine Taste, wird der Timer automatisch nach 15 Sekunden gestartet. -- Wenn der Timer startet wird die aktuelle Flughöhe angesagt. -- -- Bei 2m (Landehöhe) ertönt wieder ein Beep (1000 Hz). -- Innerhalb der nächsten 15 Sekunden kann man (bei Bodenberührung) durch Drücken der Tasten "sf" -- oder "sg" den Timer stoppen. -- Drückt man keine Taste, wird der Timer automatisch nach 15 Sekunden gestoppt. -- Wenn der Timer stopped, ertönt ein Beep (2000 Hz). -- -- Hinweis: Verzichtet man auf das Drücken der Tasten erhält man demzufolge die Zeit zwischen -- Starthöhe (5m) und Landehöhe (2m). -- -- Das Programm verwendet/definiert automatisch den Timer 1. (6 Minuten, countdown) -- -- Es werden die Daten der letzen Flüge angezeigt. -- Horus: maximal 2,6,8,19 abhängig vom gewählen Bildschirmausschnitt für das Widget -- Taranis: maximal 8 -- -- Angezeigte Infomation: -- Flight = Startzeit des Fluges (der jüngste Flug ist immer 0) -- Time = Flugzeit in Minuten:Sekunden -- Alt-S = Starthöhe (starten des Timers) -- Alt-F = maximale Flughöhe (während des gesamten Fluges zwischen Timer-Start und Timer-Stop) -- -- Neues in Version 13: -- 1. Beim Starten des Timers wird die aktuelle Höhe angesagt (anstelle des Beeps). -- 2. Das Script arbeitet jetzt auch mit Fuß, wenn die Unit von "Alt" auf Fuß gesetzt ist. -- Die Start-/Landeerkennung (5m und 2m) wird automatisch in Fuß umgerechnet. -- 3. Das Zeitfenster zum Starten und Stoppen des Timers is jetzt 15 Sekunden (war mal 10). -- 4. Während des Fliegens is es praktisch nicht möglich gleichzeitig die Liste zu lesen. -- Deshalb wird jetzt während des Fluges nur noch die Höhe und die Zeit so groß wie möglich angezeigt. -- 5. Die Datei dummy.lua in /SCRIPTS/TELEMETRY/ wird nicht mehr benötigt. -- 6. Im Script für die Horus wurde der Code etwas bezüglich CPU Last optimiert. -- -- Neues in Version 11: -- 1. Wenn der Empfänger ausgeschaltet ist, ertönt ein 3s Beep und es erscheint eine Warnung auf dem Display "not armed". -- Wenn das nicht gefällt, nach "-- armed-warning" suchen und die Zeile auf Kommentar setzen. -- (Funktion kam dazu, nachdem ich meinen Flieger mit ausgeschalteten Empfänger hoch geschossen habe. Haha) -- 2. Die GR6 Firmware (zumindest Access Variante) hat einen Fehler. Nach dem Einschalten des Empfängers steigt die Höhe -- Null auf die geografische Höhe kontinuierlich an. Das führt dazu, dass zB. Auto-Offset in OpenTx nicht richtig funktioniert -- und dieses LUA Skript fälschlicherweise einen Flug startet. Das Skript macht nun einen Reset des Telemetriewerts "Alt" (und "VSpd"). -- drei Sekunden nach dem Einschalten des Empfängers. Leider funktioniert der Workaround nur für Opentx 2.3.11 und höher. -- Für älterer Versionen hilft nur: Zuerst Empfänger einschalten und dann erst den Sender. -- Oder das Modell erst nach dem Einschalten des Empfängers auswählen. -- 3. In der Horusvariante wurde der Code aus dem Telemetrie Script in das Widget verschoben (Telemetrie Script ist jetzt ein Dummy) -- -- Installation: -- Horus: Kopiere /WIDGETS/res_H/main.lua auf die sd_card deiner Horus. -- Füge das Widget res_H deinem Telemetry Screen hinzu. -- Taranis: Kopiere /SCRIPTS/TELEMETRY/res_T.lua auf die sd_card deiner Taranis. -- Füge das Script res_T deinem Telemetry Screen hinzu. -- -- Fehler: Das Script bricht ab, wenn die Funktion getValue() mit "nil" aufgerufen wird. -- Grund: Der Telemetrie Wert "Alt" ist nicht verfügbar oder -- einen oder beide Schalter "sf" oder "sg" gibt es nicht.(Script ändern, in "switchname_one" -- und "switchname_two" andere Schalter eintragen) -- -- #######################################################################################################