LUA Vorlagen Sammlung
- nichtgedacht
- Visitor
- Dank erhalten: 0
Fehlerkorrektur:
Natürlich wollte ich im ersten Abschnitt nicht "Danach ist sensorLalist ..."
und "sensorLalist [1] sensorLalist [2]" sagen, sondern " Danach ist sensors ..."
und "sensors[1] sensors[2]".
sensorLalist ist natürlich nur ein einfaches assoziatives Array das nur die Label
resp. den/die Gerätenamen als Werte enthält aber ebenfalls ein numerisches
Subscript verwendet.
Gruß
Dieter
Natürlich wollte ich im ersten Abschnitt nicht "Danach ist sensorLalist ..."
und "sensorLalist [1] sensorLalist [2]" sagen, sondern " Danach ist sensors ..."
und "sensors[1] sensors[2]".
sensorLalist ist natürlich nur ein einfaches assoziatives Array das nur die Label
resp. den/die Gerätenamen als Werte enthält aber ebenfalls ein numerisches
Subscript verwendet.
Gruß
Dieter
von nichtgedacht
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- nichtgedacht
- Visitor
- Dank erhalten: 0
Hi,
ich habe meinen Code noch weiter verbessern können:
github.com/nichtgedacht/AltGraph
1.
Wenn man schreibt:
und nicht den Umweg über eine Variable geht wie in:
spart man viel Speicher wenn Geräte mit vielen Sensoren
im Spiel sind.
2.
Ich hatte vorher bei der Initialisierung und wenn das ausgewählte Gerät
geändert wird die Parameterindexe auf 1 gesetzt um immer einen gültigen
Wert in den Selectboxen und bei der Abfrage der Sensoren zu haben.
Besser man setzt hier die Indexe auf 0.
Dann gibt es auch keinen Error und die Selectboxen für die Parameter
zeigen vor der ersten (neuen) Auswahl '...' an.
Das ist hübscher und verwirrt nicht so, als wenn da erst mal ein gültiger
aber falscher Parameter steht.
Den Speicherverbrauch könnte man mit der Version 5 der Sender Firmware
evtl. noch weiter reduzieren, wenn man durch die neue close() Funktion
bei registerForm() die Telemetrieanzeige abschaltet, während man im Setup
ist und anschließend wieder einschalten. Dazu müsse man im Setup Form
nach dem Abschalten der Telemetrieanzeige Code und Variablen aus einem
Modul nachladen zur Verwendung im Setup Form, das Modul in der close()
Funktion wieder wegwerfen und ein Flag setzen, womit die Hauptschleife
die Telemetrieanzeige wieder registriert.
Gruß
Dieter
ich habe meinen Code noch weiter verbessern können:
github.com/nichtgedacht/AltGraph
1.
Wenn man schreibt:
Code:
for i,sensor in ipairs(system.getSensors()) do
Code:
all_sensor_rows = system.getSensors()
for i,sensor in ipairs(all_sensor_rows) do
im Spiel sind.
2.
Ich hatte vorher bei der Initialisierung und wenn das ausgewählte Gerät
geändert wird die Parameterindexe auf 1 gesetzt um immer einen gültigen
Wert in den Selectboxen und bei der Abfrage der Sensoren zu haben.
Besser man setzt hier die Indexe auf 0.
Dann gibt es auch keinen Error und die Selectboxen für die Parameter
zeigen vor der ersten (neuen) Auswahl '...' an.
Das ist hübscher und verwirrt nicht so, als wenn da erst mal ein gültiger
aber falscher Parameter steht.
Den Speicherverbrauch könnte man mit der Version 5 der Sender Firmware
evtl. noch weiter reduzieren, wenn man durch die neue close() Funktion
bei registerForm() die Telemetrieanzeige abschaltet, während man im Setup
ist und anschließend wieder einschalten. Dazu müsse man im Setup Form
nach dem Abschalten der Telemetrieanzeige Code und Variablen aus einem
Modul nachladen zur Verwendung im Setup Form, das Modul in der close()
Funktion wieder wegwerfen und ein Flag setzen, womit die Hauptschleife
die Telemetrieanzeige wieder registriert.
Gruß
Dieter
von nichtgedacht
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Thorn
- Offline
- Moderator
- Beiträge: 3460
- Dank erhalten: 1462
Dies was du da gezeigt hat würde mir sehr gefallen Dieter.
Müsste man sich mal in Ruhe angucken.
Mit freundlichen Grüßen
Thorn
Müsste man sich mal in Ruhe angucken.
Mit freundlichen Grüßen
Thorn
!! Bitte alle meine Apps vom Sender Löschen!
Sorry, wegen meiner Rechtschreibung und Grammatik!!!
Lg Thorn
Sorry, wegen meiner Rechtschreibung und Grammatik!!!
Lg Thorn
Last Edit:09 März 2020 17:16
von Thorn
Letzte Änderung: 09 März 2020 17:16 von Thorn.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- nichtgedacht
- Visitor
- Dank erhalten: 0
Hi,
so könnte es gehen, wenn denn die destroy function verfügbar wäre.
Das Script läuft so wie es jetzt ist mit zwei permanent geladenen Modulen
und passt so nicht in eine DC/DS-16.
die Module liegen im Unterverzeichnis Apps/JLog
und JLog.jsn in Apps/Lang
Gruß
Dieter
so könnte es gehen, wenn denn die destroy function verfügbar wäre.
Das Script läuft so wie es jetzt ist mit zwei permanent geladenen Modulen
und passt so nicht in eine DC/DS-16.
die Module liegen im Unterverzeichnis Apps/JLog
und JLog.jsn in Apps/Lang
Gruß
Dieter
von nichtgedacht
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Thorn
- Offline
- Moderator
- Beiträge: 3460
- Dank erhalten: 1462
Hallo Dieter,
Das mit der Größe hatte ich auch immer Probleme gehabt mit der 14/16 ner hast du bestimmt schon getestet eine Lc Datei.
Mit freundlichen Grüßen
Thorn
Das mit der Größe hatte ich auch immer Probleme gehabt mit der 14/16 ner hast du bestimmt schon getestet eine Lc Datei.
Mit freundlichen Grüßen
Thorn
!! Bitte alle meine Apps vom Sender Löschen!
Sorry, wegen meiner Rechtschreibung und Grammatik!!!
Lg Thorn
Sorry, wegen meiner Rechtschreibung und Grammatik!!!
Lg Thorn
von Thorn
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- nichtgedacht
- Visitor
- Dank erhalten: 0
Thorn wrote: Das mit der Größe hatte ich auch immer Probleme gehabt ...
Lass uns lieber über den Code diskutieren.
Ich hatte für mich selbst eine Anzeige für JLog2.6 und Hubschrauberbetrieb gebastelt:
github.com/nichtgedacht/JLog2.6-Heli
Kürzlich bekam ich eine Anfrage, ob das Ganze auch für JLog32 geht.
In meinem alten Script sind der JLog2.6 und die Parameter hardcoded.
Wenn man versucht Gerät und Parameter frei wählbar zu machen, bläht
sich der Speicherbedarf dadurch erheblich auf.
Geierwally hat es mit seinem F3K Script ja vorgemacht, wie man die
Funktionalität in mehrere Module packen kann, die dann nicht nicht
alle gleichzeitig im Speicher sind. Allerdings besteht das F3K Script
aus mehreren Tasks, von denen immer nur einer laufen muss.
Bei einem einfachen "Gerät -> Telemetrieanzeige" Script hat man diese
Möglichkeit der Aufteilung nicht. Generell passt aber die eigentliche
Funktionalität in den Speicher.
Daher will ich versuchen das Setup und die Telemetrieanzeige als separate Tasks
zu behandeln. Während das Setup läuft kann das gesamte Telemetriegeraffel
aus dem Speicher verschwinden. Im normalen Betrieb kann aber nur das Modul
mit dem Setupcode entladen werden. Form selbst muss registered bleiben, weil
der User ja jederzeit wieder ins Setup gehen können will. Sonst müsste man einen
Schalter dafür opfern um das per Hauptschleife wieder einzuschalten.
Gruß
Dieter
von nichtgedacht
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Moderatoren: Thorn, IG-Modellbau
Ladezeit der Seite: 1.022 Sekunden