Schalter deaktivieren - aber Schaltposition beibehalten

  • skyfreak
  • skyfreak's Avatar
  • Offline
  • Platinum Member
  • Platinum Member
  • Posts: 2947
  • Thank you received: 1450

TPL_KUNENA_MESSAGE_REPLIED_NEW Schalter deaktivieren - aber Schaltposition beibehalten

30 Aug 2020 18:06
#31
unglaublich ...
bier für günther !!!!
Fliegergruss
GUIDO



_________________________________________________________
Too many dicks on the dance floor.
Too many dicks!​


Please Log in or Create an account to join the conversation.

  • ClausS
  • ClausS's Avatar Topic Author
  • Offline
  • New Member
  • New Member
  • Posts: 18
  • Thank you received: 3

TPL_KUNENA_MESSAGE_REPLIED_NEW Schalter deaktivieren - aber Schaltposition beibehalten

30 Aug 2020 19:02
#32
Ja, hoffentlich sieht man sich mal beim Hangfliegen oder auf einer der Modellmessen - ein Bier bin ich Dir dann in jedem Fall schuldig!

In deinem letzten Code war aber ein kleiner Bug eingebaut. Ich habe mir erlaubt diesen zu berichtigen. Dein LUA App konnte bei mir leider nicht geladen werden und hat zu einerm "Error" Satus" geführt. Denke der Fehler lag in der folgenden Programmzeile:

Original-Programmzeile:
SHF = system.pLoad("SHF")

überarbeiteter Programmzeile:
SHF = system.pLoad("SHF",SHF)

Beim ersten Test mit dem richtigen Code ist das Fahrwerk zwar wieder auf Mittelstellung gefahren,dies konnte ich danach aber nicht wieder reproduzieren. Diee App hat wie erwartet funktioniert. Denke hier war evtl. eine falsche Position im Speicher hinterlegt.
Code:
local APPSchalter = 1; Sicherheitsschalter = "P8"; Funktionsschalter = "SC"; Freigabe = -1 local function init() ctrlIdx = system.registerControl(APPSchalter, "Sicherheitsschalter","SHS") SHF = system.getInputs(Funktionsschalter) SHF = system.pLoad("SHF",SHF) system.setControl(APPSchalter, SHF,0,0) if system.getInputs(Sicherheitsschalter) == Freigabe then SHS = false else SHS = true end schleife = true end local function loop() if schleife == false then if system.getInputs(Sicherheitsschalter) == Freigabe then if SHS == true then if SHF == system.getInputs(Funktionsschalter) then SHS = false else system.playBeep (2, 2000, 100) schleife = true end else SHF = system.getInputs(Funktionsschalter) system.setControl(APPSchalter, SHF,0,0) system.pSave ("SHF",SHF) end else SHS = true end else if system.getInputs(Sicherheitsschalter) ~= Freigabe then schleife = false end end end return { init=init, loop=loop, author="PGK", version="0.30",name="Sicherheitsschalter"}


Merci und Grüße
Claus

Please Log in or Create an account to join the conversation.

  • Günter07
  • Günter07's Avatar
  • New Member
  • New Member
  • Thank you received: 0

TPL_KUNENA_MESSAGE_REPLIED_NEW Schalter deaktivieren - aber Schaltposition beibehalten

31 Aug 2020 12:18
#33
Hallo Claus,

mit der Änderung kommt zwar der Error nicht mehr, aber das war nicht die Ursache! Bei einem neuen Modell sind bestimmte Variablen noch nicht angelegt und ich habe trotzdem darauf zugegriffen, deshalb der Error. Bei meinem Sender kein Fehler weil dort diese Variable bereits existiert durch meine Versuche!

Aber ich habe hier noch etwas zum Ausprobieren für dich im Anhang!

Jetzt hat es eine Benutzeroberfläche im Hauptmenü ganz unten und nennt sich Sicherheitsschalter. Dort kannst Du jetzt problemlos alle Schalter ändern. Mein Programm nimmt jetzt auch auf bereits vorhandene APP-Schalter Rücksicht und gibt nur freie App-Schalter zur Auswahl.

LG Gü

Please Log in or Create an account to join the conversation.

  • ClausS
  • ClausS's Avatar Topic Author
  • Offline
  • New Member
  • New Member
  • Posts: 18
  • Thank you received: 3

TPL_KUNENA_MESSAGE_REPLIED_NEW Schalter deaktivieren - aber Schaltposition beibehalten

31 Aug 2020 18:14 - 31 Aug 2020 18:15
#34
Hi Günter,

danke für deine Rückmeldung. Ich bin leider kein Programmierer Experte und habe versucht den vorherigen Programmcode mehr oder weniger per "Trial and Error" zum Laufen zu bringen. Wollte nicht bei jeder Kleinigkeit das Forum bemühen müssen...

Bei mir hat es dann final auch funktioniert.

Deine neue App kann ich derzeit leider nicht testen, da ich gerade keinen Zugriff auf den Sender und das Modell habe.

Ein Kollege hat sie aber schon getestet und dabei anscheinend wieder das Problem gehabt, dass das Servo beim Einschalten des Senders erstmal wieder in die Mittelstellung gezuckt ist.

Ich hoffe, dass ich morgen wieder Zuhause bin um es selbst prüfen zu können. Meld mich wieder!
Last edit: 31 Aug 2020 18:15 by ClausS.

Please Log in or Create an account to join the conversation.

  • ClausS
  • ClausS's Avatar Topic Author
  • Offline
  • New Member
  • New Member
  • Posts: 18
  • Thank you received: 3

TPL_KUNENA_MESSAGE_REPLIED_NEW Schalter deaktivieren - aber Schaltposition beibehalten

01 Sep 2020 19:01
#35
So, konnte die neue App gerade testen.

Bei mir funktioniert im Normalbetrieb alles bestens. Der Schalter sperrt sauber und behält seine Funktion auch nach dem Aus- und Wiedereinschalten des Senders.

Es gibt bei meinen Tests nur einen Anwendungsfall, in dem der Sicherheitsschalter überstimmt wird und das Servo unabhängig von den Funktionsschalterstellung in die Mitte fährt. Dies passiert immer dann, wenn ich die "Sicherheitsschalter-App" (als das Menü im Jeti Sender) aufrufe. Das ist für mich aber nicht praxisrelevant und der Schalter funktioniert ansonsten anscheinend astrein.

Viele Lieben Dank nochmal.

Darf ich aus Neugier aber dennoch nochmal fragen, was Du am Code geändert hast um die vorher nicht definierten Variablen zu ergänzen? Der von mir fälschlicherweise geänderte Code funktioniert bei mir ja ebenfalls.
Würde mich freuen wenn Du den Code nochmal einstellen könntest damit ich mir diesen nochmal ansehen kann (is reine Neugier da die App ja deutlich komfortabler ist).

LG
Claus
The following user(s) said Thank You: Günter07

Please Log in or Create an account to join the conversation.

  • Günter07
  • Günter07's Avatar
  • New Member
  • New Member
  • Thank you received: 0

TPL_KUNENA_MESSAGE_REPLIED_NEW Schalter deaktivieren - aber Schaltposition beibehalten

02 Sep 2020 21:28
#36
Hallo Claus,

DANKE für die Rückmeldung!

Was ich geändert habe ist im Prinzip ganz einfach. Nach pLoad hat die eingelesene Variable wenn sie noch nicht existiert den Wert NIL und da ist der alte Code ausgestiegen. Jetzt habe ich lediglich gesagt wenn das Ergebnis NIL ist, dann lege die Variable an mit der augenblicklichen Schalterstellung.

Dazugekommen sind natürlich die ganzen Menüs und damit habe ich 100 Zeilen erreicht. Die Programmierung rundherum ist wesentlich aufwändiger als der eigentliche Code.

Da ich von Zeile zu Zeile immer mehr berücksichtigen und Fehler ausbessern musste, ist der Code natürlich nicht mehr optimal sondern ein ziemliches Durcheinander. Darum habe ich jetzt eine *.lc Datei daraus gemacht damit man den Saustall nicht sieht!

Bei Gelegenheit werde ich vielleicht alles neu und strukturiert schreiben.

LG Gü

Please Log in or Create an account to join the conversation.

Time to create page: 0.346 seconds
Powered by Kunena Forum