1zu160 - Forum



Anzeige:


THEMA: NmraDcc-Library CV Programmierung steuern

THEMA: NmraDcc-Library CV Programmierung steuern
Startbeitrag
AndreasL - 04.01.23 19:43
Hallo, ich bin DCC-Anfänger und habe mich gleich an den Selbstbau eines Servo-Dekoders auf Basis eines Arduinos und unter Nutzung der NmraDcc-Library versucht. Im Groben funktioniert auch fast alles wie beabsichtigt. An der folgenden Stelle komme ich allerdings nicht weiter: Über die Roco Multimaus kann ich meine CVs modifizieren. Ich möchte allerdings nur den einen zu programmierenden Dekoder z.B. über einen Schalter oder Jumper auswählen. Wie kann ich hierzu die NmraDcc-Library vom Programmieren der CVs abhalten?

Danke und Gruß
Andreas

1. Per Standard wird _alles_ was auf dem Programmiergleis ist durch solche Kommandos umprogrammiert. So warum hast du mehr als einen Decoder auf dem Programmiergleis?

2. Wenn du willst kannst du dir ja einen Jumper einbauen und den Eingang des Arduinos von der DCC-Library (in NmraDCC::setCV()) abfragen. Bin übrigends skeptisch der Library gegenüber da setCV(0, 42) keinen Fehler zurückgeben kann.

Grüße,
Harald.
Hallo Harald,

echt, CV 0?

Grüße, Peter W
Ja echt

Damit wollte ich nur illustrieren dass NmraDCC::setCV() es scheinbar nicht kann "das geht aber nicht" zurückzugeben da von setCV() immer ein Wert zwischen 0 und 255 zurückkommt, egal ob wirklich ein CV geschrieben wurde oder nich

Wir vergleichen mit write() aus libc. Da bekommt man -1 zurück wenns nicht möglich ist.

Nur so unter uns Programierern.

Grüße,
Harald.
Zitat - Antwort-Nr.: | Name:

1. Per Standard wird _alles_ was auf dem Programmiergleis ist durch solche Kommandos umprogrammiert. So warum hast du mehr als einen Decoder auf dem Programmiergleis?


Ich habe die Multimaus mit einem einfachen Verstärker ohne Programmiergleis. Damit müsste ich die Dekoder auch immer umstöpseln - wäre aber natürlich eine Lösung.

Zitat - Antwort-Nr.: | Name:

2. Wenn du willst kannst du dir ja einen Jumper einbauen und den Eingang des Arduinos von der DCC-Library (in NmraDCC::setCV()) abfragen. Bin übrigends skeptisch der Library gegenüber da setCV(0, 42) keinen Fehler zurückgeben kann.


Aktuell versuche ich den Service-Mode in der Library über eine neue Funktion ein- und ausschaltbar zu machen. Anders sehe ich keine Chance von außen den Programmiervorgang in der Library zu unterbinden.

Danke und Gruß
Andreas


Nur registrierte und eingeloggte User können Antworten schreiben.
Einloggen ->

Noch nicht registriert? Hier können Sie Ihren kostenlosen Account anlegen: Neuer N-Liste Account





Zum Seitenanfang

© by 1zu160.net;