Alle Beiträge von Daniel Sigg

Modellbahn

Bei mir im Keller ist eine Modellbahn, die mit „Sigg’s JavaESTW“ gesteuert wird, am entstehen.

Umbau Keller:

Sommer 2007:

Winter 2008:

Sommer 2008:

Sommer 2011:

Herbst 2012:

Dezember 2014:

Februar 2024:

Nach längerer Zeit mal wieder ein Update. Es hat sich einiges getan: 36 3m Geleise in den Schattenbahnhöfen, Berg mit Skilift und Bergdorf, Landschaft rund um Hauptbahnhof.

srcpd in RUST

Update 10.04.24: Verwendung GPIO ABI und nicht mehr sysfs für GPIO Zugriff.

Aktuelle, stabile Version 1.5.0.

Nachdem ich nun langsam aber sicher genug habe von Fehlersuche mit Speicherüberläufen im alten srcpd C-Code habe ich mich dazu entschieden, einen neuen srcpd in RUST zu schreiben. Der Einstieg in RUST ist für einen langjährigen JAVA, C/C++ Programmierer zwar schon etwas „zäh“ und hat mir einiges an Durchhaltewille abverlangt. Aber: wenn es mit RUST mal compiliert, dann funktioniert es auch (meistens) .

Einschränkungen:

  • Auf SRCP Seite is nur das implementiert, was ich brauche, siehe Doku.
  • Es wird nur DDL mit Ausgabe über SPI (z.B. Raspberry PI) unterstützt

Was es kann:

  • DCC Servicemode, Lesen (Programmiergleis) & Schreiben (Prog. und Hauptgleis) CV’s.
  • MM Protokolle, DCC, MFX.
  • MFX Lesen und Schreiben Lokparameter, automatische Lokanmeldung mit auslesen Lokname und Funktionen.
    Servicemode für MFX.
  • Es ist schnell! Optimierung der Protokollausgabe, wenn z.B. ein Protokoll eine Pause verlangt (z.B. DCC zwischen zwei Paketen an die selbe Adresse 5ms, MM5 zwischen den Paketen für 28 FS 50ms), dann wird nicht einfach gewartet sondern andere Pakete eingeschoben. Es wir keine Millisekunde verschenkt. Das ist gegenüber dem Orginal srcpd spürbar (zumindest bei meiner Anlage mit ca. 80 Loks).
  • S88 Bus (auch nur über SPI).
  • Konfigurierbare Oszi Triggermöglichkeit bei S88 Veränderungen, Ausgabe GA, GL, SM Kommandos.

Download hier.