Rueckmeldung

Antworten
PetrOs
Beiträge: 2
Registriert: 26.03.2020, 10:45
Hat sich bedankt: 1 Mal

Rueckmeldung

Beitrag von PetrOs » 26.03.2020, 10:58

Hallo,

Ist es irgendwie möglich oder geplant, eine Rückmeldefunktionalität anzubieten? Ich will nämlich auch Gleisbesetzmelder über gleiches ESP laufen lassen, und dann per WLAN die Zustände an Z21 zurückmelden, über LAN_LOCONET_FROM_LAN.

Wenn nicht - hast Du vielleicht ein Paar Tips, wo man im Code es am besten strukturiert und einbringt? Ich bin ja hauptberuflich Informatiker/Software Architekt, und würde es gerne richtig in Deinem Konzept es umsetzen, wenn es nicht da ist.

little.yoda
Site Admin
Beiträge: 482
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 12 Mal
Danksagung erhalten: 35 Mal

Re: Rueckmeldung

Beitrag von little.yoda » 26.03.2020, 12:39

Hi

angedacht definitiv ....

Ich hatte es mal in Verbindung mit einem Railcom angedacht, ich habe aber Railcom nicht nicht zu laufen gebracht bzw. es steht gerade nicht auf meiner Todo-Liste.

Um dir wirklich gut helfen zu können, fehlen mir ein paar Informationen.
Wie sieht die Schaltung für die Belegt-Erkennung aus, Ist ein Polling erforderlich, usw.

Mein Vorschlag, wie du es einbauen könntest, als Schnellschuß:
  • Implementiere deine Routinen als Klasse. Analog zu der Klasse ActionSendTurnoutCommand.
    Hier findest du in setSetting schon Anweisungen, die ein Befehl versenden
  • ggf. müsste die Klasse auch von ILoop erben, falls du Polling brauchst
  • In der Klasse Config müsstest du dann die Funktion ParseCfg erweitern. (man müsste
    (später schauen, ob ParseIn evtl. besser passt) [registerILoop ggf. nicht vergessen]
  • Die Klasse CmdSenderBase müsste um Funktionen für die Belegtmeldung erweitert werden
  • Zumindest in CmdReceiverZ21Wlan müssten dann die Funktionen zur Kommunikation mit der Z21 erweietert werden
  • Später könne man die rocrail Klasse erweitern.
Gruß,
Sven

PetrOs
Beiträge: 2
Registriert: 26.03.2020, 10:45
Hat sich bedankt: 1 Mal

Re: Rueckmeldung

Beitrag von PetrOs » 26.03.2020, 13:00

Super, Danke! Werde mich gleich daran stuerzen. Darf ich es auch in ein neues branch bei Deiner GIT einchecken?

Und ja, mein Eigenbau GBM sieht so aus dass der einfach X pins hat, die entweder true oder false sind. Also ist evtl noch ein input notwendig?

little.yoda
Site Admin
Beiträge: 482
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 12 Mal
Danksagung erhalten: 35 Mal

Re: Rueckmeldung

Beitrag von little.yoda » 26.03.2020, 15:57

Pin-Zugriffe habe ich gekapselt. Hierbei werden dann auch Portexpander unterstützt.

Code: Alles auswählen

Pin* g = new Pin(pin); // wobei pin dann "D2" oder was auch immer sein darf
GPIOobj.pinMode(g, INPUT_PULLUP, "beschreibung"); // auf Input stellen
pin->getPin() // Zustand abfragen
siehe auch ConnectorGPIO.cpp für die Basis-Funktionalität.

Git:
Forke das Projekt gerne und dann stell mir gerne ein Pull-Request ein.

Antworten