DCC-Input: Software in C

Anforderungen

Da ich nicht bei jedem technischen Detail Geld für einen kommerziellen DCC-Decoder ausgeben wollte, habe ich einen DCC-Stack implementiert. Die Basis hierfür waren die sehr guten Erläuterungen zum Aufbau des DCC-Signals von →OpenDCC.

Umsetzung

Am INT0-Pin eines →Microchip Atmels wird die Zeitliche Länge der Bits erfasst. In den Zeilen 301-302 wird die Zeit als DCC-0 oder DCC-1 interpretiert.

Schließlich wird die Folge der hereinkommenden Bits analysiert. Wenn ein gültiger Telegrammanfang (Zeile 325) und nach der erwarteten Telegrammlänge (Zeile 364) eine gültige Checksumme anliegt (Zeile 380), ist das Telegramm richtig ampfangen worden und kann interpretiert werden (ab Zeile 388). Hier wird im Wesentlichen die Adresse ermittelt und die zu schaltenden Funktionen.

Einschränkungen / nicht implementierte Funktionen

Derzeit kann der Code nur “kurze” DCC-Adressen erkennen. Die Auswertung von langen Adressen habe ich mir gespart, da ich sie für meine Zwecke einfach noch nicht brauchte.

Link zur Software

Der Code ist im →DoktorRail-github-Repo zu finden unter DCC_Framework:

https://github.com/DoktorRail/DoktorRailProjects/tree/master/ModelRailway/Dcc_Framework



Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.