Benutzer-Werkzeuge

Webseiten-Werkzeuge


anleitungen:bauanleitungen:locoturn_v10:150_locoturn_pc_steuerung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
anleitungen:bauanleitungen:locoturn_v10:150_locoturn_pc_steuerung [2023/02/17 07:32] – [Auswirkungen "Märklin 7686 kompatibler Drehscheibendekoder"] domapianleitungen:bauanleitungen:locoturn_v10:150_locoturn_pc_steuerung [2024/09/29 08:56] (aktuell) – [Übersicht der möglichen DCC-Befehle] domapi
Zeile 3: Zeile 3:
 ===== Übersicht der möglichen DCC-Befehle ===== ===== Übersicht der möglichen DCC-Befehle =====
  
-LocoTurn nutzt standardmäßig DCC-Befehle von # 211 bis # 224, um interne Funktionen anzusteuern. +LocoTurn ist ein **Schaltartikeldekoder** und reagiert auf DCC-Schaltartikel-Kommandos, wie man sie auch zur Steuerung von Weichenund Signaldekodern verwendet (LocoTurn ignoriert DCC-Lokbefehle!).
-Die DCC-Befehle ab # 225 umfassen im wesentlichen die Märklin-kompatiblen Kommandos. +
-Ab # 229 beginnen die Direktfahrbefehle zu bestimmten Ports. Wieviele DCC-Adressen benötigt werden, hängt ab von der Anzahl der verwendeten Ports.+
  
-Über das #define **DCC_OFFSET** kann ein Offset eingestellt werdendamit LocoTurn auf andere DCC-Adressbereiche reagiertBei manchen Zentralen muss z.B. der Roco-Offset von "-4" hier eingestellt werden, damit LocoTurn die Adressen richtig interpretiert. Bei großen Anlagen mit mehreren Drehscheiben können die Drehscheiben auf diese Weise individuell gesteuert werden.+LocoTurn nutzt standardmäßig DCC-Befehle von Adresse 211 bis # 224um interne Funktionen anzusteuern. 
 +Die DCC-Befehle ab # 225 umfassen im wesentlichen die Märklin-kompatiblen Kommandos. 
 +Ab # 229 beginnen die Direktfahrbefehle zu bestimmten PortsWieviele DCC-Adressen benötigt werden, hängt ab von der Anzahl der verwendeten Ports und ob das **#define DCC_MAERKLIN_7687_COMPATIBLE** auf 0 oder 1 gesetzt wurde.
  
-Sobald die Zentrale (oder ein PC-Steuerungsprogramm über die Zentrale) ein entsprechendes Kommando sendetführt LocoTurn die jeweilige Funktion aus.+Über das #define **DCC_OFFSET** kann ein Offset eingestellt werden, damit LocoTurn auf andere DCC-Adressbereiche reagiert. Der Offset wird auf die jeweiligen DCC-Adressen addiert. Bei manchen Zentralen muss z.B. der Roco-Offset von "-4" hier eingestellt werdendamit LocoTurn die Adressen richtig interpretiert. Bei großen Anlagen mit mehreren Drehscheiben können die Drehscheiben auf diese Weise individuell gesteuert werden.
  
 +Sobald die Zentrale (oder ein PC-Steuerungsprogramm über die Zentrale) ein entsprechendes DCC-Kommando sendet, führt LocoTurn die jeweilige Funktion aus. Die Funktionen bestehen immer aus ein Adresse und einer Richtungsangabe (RED / GRN). RED und GRN stehen für rote/grüne Taste in manchen Zentralen. Tatsächlich wird jedoch für RED "0" und für GRN "1" gesendet. Pro Adresse lassen sich so 2 Funktionen steuern.
  
 ^DCC-Adresse ^Funktion ^#define im Sketch^ ^DCC-Adresse ^Funktion ^#define im Sketch^
Zeile 17: Zeile 18:
 |212, RED       |Gleissperrsignal beim Haus rot (nur bei WS281x-Board oder MobaLEDLib-Anbindung sinnvoll) |DCC_SPERRSIGNAL_RED_HOUSE_ADDR|      |212, RED       |Gleissperrsignal beim Haus rot (nur bei WS281x-Board oder MobaLEDLib-Anbindung sinnvoll) |DCC_SPERRSIGNAL_RED_HOUSE_ADDR|     
 |212, GRN       |Gleissperrsignal weiß (grün) |DCC_SPERRSIGNAL_GRN_HOUSE_ADDR|      |212, GRN       |Gleissperrsignal weiß (grün) |DCC_SPERRSIGNAL_GRN_HOUSE_ADDR|     
-|213, RED       |Disable flash on turntable house |DCC_DISABLE_FLASH_ADDR|              +|213, RED       |Warnlicht AUS: Disable flash on turntable house |DCC_DISABLE_FLASH_ADDR|              
-|213, GRN       |Enable flash |DCC_ENABLE_FLASH_ADDR|                +|213, GRN       |Warnlicht EIN: Enable flash |DCC_ENABLE_FLASH_ADDR|                
-|214, RED       |Disable the automatic generated sound if the turntable starts/stops moving |DCC_DISABLE_SOUND_ADDR|               +|214, RED       |Sound OFF: Disable the automatic generated sound if the turntable starts/stops moving |DCC_DISABLE_SOUND_ADDR|               
-|214, GRN       |Enable the automatic generated sound if the turntable starts/stops moving |DCC_ENABLE_SOUND_ADDR|                +|214, GRN       |Sound ON: Enable the automatic generated sound if the turntable starts/stops moving |DCC_ENABLE_SOUND_ADDR|                
-|215, RED       |Decrease the volume |DCC_VOLUME_DN_ADDR|                   +|215, RED       |Leiser: Decrease the volume |DCC_VOLUME_DN_ADDR|                   
-|215, GRN       |Increase the volume |DCC_VOLUME_UP_ADDR|                  +|215, GRN       |Lauter: Increase the volume |DCC_VOLUME_UP_ADDR|                  
 |216, RED       |Set the sound volume to SOUND_VOLUME1 (10 by default) |DCC_VOLUME_1_ADDR|                    |216, RED       |Set the sound volume to SOUND_VOLUME1 (10 by default) |DCC_VOLUME_1_ADDR|                   
 |216, GRN       |Set the sound volume to SOUND_VOLUME2 (20 by default) |DCC_VOLUME_2_ADDR|                    |216, GRN       |Set the sound volume to SOUND_VOLUME2 (20 by default) |DCC_VOLUME_2_ADDR|                   
Zeile 33: Zeile 34:
 |220, RED       |Continuously rotate in the positive direction, mostly CW |DCC_ROTATE_POS_DIR_ADDR|              |220, RED       |Continuously rotate in the positive direction, mostly CW |DCC_ROTATE_POS_DIR_ADDR|             
 |220, GRN       |Continuously rotate in the negative direction (CCW) |DCC_ROTATE_NEG_DIR_ADDR|              |220, GRN       |Continuously rotate in the negative direction (CCW) |DCC_ROTATE_NEG_DIR_ADDR|             
-|221, RED       |Disable the light in the machine house on the turntable |DCC_DISABLE_LIGHT_ADDR|               +|221, RED       |Licht AUS: Disable the light in the machine house on the turntable |DCC_DISABLE_LIGHT_ADDR|               
-|221, GRN       |Enable the light |DCC_ENABLE_LIGHT_ADDR|               +|221, GRN       |Licht EIN: Enable the light |DCC_ENABLE_LIGHT_ADDR|               
 |222, RED       |Set the moving speed to MOVE_SPEED1 |DCC_SET_SPEED1_ADDR|                  |222, RED       |Set the moving speed to MOVE_SPEED1 |DCC_SET_SPEED1_ADDR|                 
 |222, GRN       |Set the moving speed to MOVE_SPEED2 |DCC_SET_SPEED2_ADDR|                  |222, GRN       |Set the moving speed to MOVE_SPEED2 |DCC_SET_SPEED2_ADDR|                 
 |223, RED       |Set the moving speed to MOVE_SPEED3 |DCC_SET_SPEED3_ADDR|                  |223, RED       |Set the moving speed to MOVE_SPEED3 |DCC_SET_SPEED3_ADDR|                 
 |223, GRN       |Set the moving speed to MOVE_SPEED4 |DCC_SET_SPEED4_ADDR|                  |223, GRN       |Set the moving speed to MOVE_SPEED4 |DCC_SET_SPEED4_ADDR|                 
-|224, RED       |<color #00a2e8>nicht verwendet!</color>  |DCC_RESERVE_1_ADDR|                   +|224, RED       |<color #ed1c24>Neu ab Version 1.3</color>: U-Turn clockwise (CW) |DCC_U_TURN_CW_ADDR|                   
-|224, GRN       |<color #00a2e8>nicht verwendet!</color> |DCC_RESERVE_2_ADDR|                  +|224, GRN       |<color #ed1c24>Neu ab Version 1.3</color>: U-Turn counter clockwise (CCW)  |DCC_U_TURN_CCW_ADDR|                  
 |225, RED       |Stop the turntable |DCC_STOPP_ADDR|                       |225, RED       |Stop the turntable |DCC_STOPP_ADDR|                      
 |225, GRN       |Calibrate the zero position (During the calibration no other commands are accepted) |DCC_CALIBRATE_ADDR|                   |225, GRN       |Calibrate the zero position (During the calibration no other commands are accepted) |DCC_CALIBRATE_ADDR|                  
Zeile 50: Zeile 51:
 |228, GRN       |Set movement direction to negative direction (CCW) |DCC_NEG_DIR_ADDR|                     |228, GRN       |Set movement direction to negative direction (CCW) |DCC_NEG_DIR_ADDR|                    
 |229, RED       |Move to Port #1 in DCC direction |DCC_PORT_ADDR1|                      |229, RED       |Move to Port #1 in DCC direction |DCC_PORT_ADDR1|                     
-|229, GRN       |Move to Port #2 in DCC direction |DCC_PORT_ADDR1|+|229, GRN       |Move to Port #2 in DCC direction |DCC_PORT_ADDR2|
 |...      |Direktfahrbefehle zu bestimmten Ports, Ergänzung je nach Anzahl|...| |...      |Direktfahrbefehle zu bestimmten Ports, Ergänzung je nach Anzahl|...|
  
-RED und GRN stehen für rote/grüne Taste in manchen Zentralen. Tatsächlich wird jedoch für RED "0" und für GRN "1" gesendet. 
  
 ---- ----
Zeile 69: Zeile 69:
 | Kalibrierung                        | 225, GRN      | Kalibriert den Null-Punkt (nicht Märklin-kompatibler Befehl)| | Kalibrierung                        | 225, GRN      | Kalibriert den Null-Punkt (nicht Märklin-kompatibler Befehl)|
 | - | 226, RED      | nicht verwendet| | - | 226, RED      | nicht verwendet|
-| U-Turn                              | 226, GRN      | Führt eine 180°-Drehung / U-Turn in DCC-Richtung aus|+| U-Turn                              | 226, GRN      | Führt eine 180°-Drehung / U-Turn in DCC-Richtung aus; diese wird mit #228 eingestellt|
 | Step +                              | 227, RED      | Dreht die Bühne zum nächsten Port (im Uhrzeigersinn / CW)| | Step +                              | 227, RED      | Dreht die Bühne zum nächsten Port (im Uhrzeigersinn / CW)|
 | Step -                              | 227, GRN      | Dreht die Bühne zum vorherigen Port (gegen den Uhrzeigersinn / CCW)| | Step -                              | 227, GRN      | Dreht die Bühne zum vorherigen Port (gegen den Uhrzeigersinn / CCW)|
Zeile 82: Zeile 82:
 Dieser Quasi-Standard wird von vielen PC-Steuerungsprogrammen eingesetzt, z.B. von Traincontroller (TC). Diese Steuerungsprogramme senden grundsätzlich nur Direkt-Befehle Dieser Quasi-Standard wird von vielen PC-Steuerungsprogrammen eingesetzt, z.B. von Traincontroller (TC). Diese Steuerungsprogramme senden grundsätzlich nur Direkt-Befehle
 für die **Ports in der ersten Drehscheiben-Hälfte**. Über die Kombination aus der DCC-Drehrichtung und dem Fahrbefehl kann jede beliebige Position der Drehscheibe angefahren werden. Die Bühne dreht immer maximal 180°. Die Drehrichtung bestimmt, ob die Seite mit oder ohne Haus am Zielport hält. für die **Ports in der ersten Drehscheiben-Hälfte**. Über die Kombination aus der DCC-Drehrichtung und dem Fahrbefehl kann jede beliebige Position der Drehscheibe angefahren werden. Die Bühne dreht immer maximal 180°. Die Drehrichtung bestimmt, ob die Seite mit oder ohne Haus am Zielport hält.
 +
 +In der config.h reicht es, nur für die erste Drehscheibenhälfte die DCC-Adressen zu definieren.
  
 In TC muss man beim Einrichten der Drehscheibe die Einstellung „Märklin Digitale Drehscheibe 7686 und Kompatible“ nutzen, d.h., die Port-/Gleisadressen folgen dem Märklin Schema: Es werden dann nur für die aktiven Gleise aus der 1. Drehscheiben-Hälfte DCC-Adressen und -Befehle genutzt. In TC muss man beim Einrichten der Drehscheibe die Einstellung „Märklin Digitale Drehscheibe 7686 und Kompatible“ nutzen, d.h., die Port-/Gleisadressen folgen dem Märklin Schema: Es werden dann nur für die aktiven Gleise aus der 1. Drehscheiben-Hälfte DCC-Adressen und -Befehle genutzt.
Zeile 104: Zeile 106:
   * Bei 24 verwendeten Ports sendet TC nur die DCC-Befehle für Port 1 - 12.   * Bei 24 verwendeten Ports sendet TC nur die DCC-Befehle für Port 1 - 12.
   * Port 13 - 24 werden nie gesendet, da für TC Port 1 = Port 13 ist (12 = 24 usw.).   * Port 13 - 24 werden nie gesendet, da für TC Port 1 = Port 13 ist (12 = 24 usw.).
-  * Die DCC-Adressen # 229, RED - 234, GRN werden verwendet (1 - 12)235, RED - 240, GRN (13 - 24) eben nicht.+  * Die DCC-Adressen # 229, RED - 234, GRN werden verwendet (1 - 12)
 +  * 235, RED - 240, GRN (13 - 24) werden nicht benötigt.
  
 </WRAP> </WRAP>
Zeile 114: Zeile 117:
 Stattdessen kann man nun auch DCC-Befehle von der Zentrale für die 2. Drehscheiben-Hälfte senden und LocoTurn wird zum gewünschten Port fahren.  Stattdessen kann man nun auch DCC-Befehle von der Zentrale für die 2. Drehscheiben-Hälfte senden und LocoTurn wird zum gewünschten Port fahren. 
 In diesem Fall wird immer der kürzeste Weg gewählt und die DS dreht entsprechend links- oder rechtsherum. In diesem Fall wird immer der kürzeste Weg gewählt und die DS dreht entsprechend links- oder rechtsherum.
 +Natürlich muss man in der config.h dann auch für alle Ports die DCC-Adressen hinterlegen.
 +
 +Für U-Turns gibt es ab Software-Version 1.3 die DCC-Adresse 224; hiermit kann ein U-Turn in Uhrzeigerrichtung (RED) und gegen den Uhrzeiger (GRN) ausgelöst werden.
 ---- ----
 ===== Trennung von Empfang und Verarbeitung von DCC-Befehlen ===== ===== Trennung von Empfang und Verarbeitung von DCC-Befehlen =====
Zeile 122: Zeile 128:
 Daher werden die empfangenen DCC-Befehle zunächst in einer kleinen Tabelle gepuffert und erst kurze Zeit später von einer separaten Routine abgearbeitet. Daher werden die empfangenen DCC-Befehle zunächst in einer kleinen Tabelle gepuffert und erst kurze Zeit später von einer separaten Routine abgearbeitet.
  
-Bei Ansteuerung von LocoTurn mit einer PC-Steuerungssoftware über eine Zentrale sendet die Software i.d.R. bei DS-Bewegungen 2 Befehle: 1. die Richtung, 2. den Zielport (oder die U-turn-Bewegung).+Bei Ansteuerung von LocoTurn mit einer PC-Steuerungssoftware über eine Zentrale sendet die Software i.d.R. bei DS-Bewegungen 2 Befehle: 1. die Richtung, 2. den Zielport (oder die U-Turn-Bewegung).
 Diese beiden Befehle müssen zwingend empfangen werden können, damit LocoTurn sauber arbeitet. Diese beiden Befehle müssen zwingend empfangen werden können, damit LocoTurn sauber arbeitet.
  
-Bei der ESU-ECOS-Zentrale wird für jeden Befehl 4 x On und nach kurzer Pause 4 x Off gesendet und danach der nächste Befehl etc. Andere Programme/Zentralen senden ihre DCC-Kommandos in unterschiedlichen Zeitabständen, z.B. alle On-Befehle quasi auf einmal ohne Pause dazwischen oder schön mit Pause nacheinander. Manche Zentralen senden die Befehle weniger häufig oder senden gar keine Off-Befehle.+Bei der ESU-ECOS-Zentrale wird z.B. für jeden Befehl 4 x On und nach kurzer Pause 4 x Off gesendet und danach der nächste Befehl etc. Andere Programme/Zentralen senden ihre DCC-Kommandos in unterschiedlichen Zeitabständen, z.B. alle On-Befehle quasi auf einmal ohne Pause dazwischen oder schön mit Pause nacheinander. Manche Zentralen senden die Befehle weniger häufig oder senden gar keine Off-Befehle.
 LocoTurn muss sicherstellen, dass mehrere Befehle quasi gleichzeitig empfangen und verarbeitet werden können. LocoTurn muss sicherstellen, dass mehrere Befehle quasi gleichzeitig empfangen und verarbeitet werden können.
  
anleitungen/bauanleitungen/locoturn_v10/150_locoturn_pc_steuerung.1676619169.txt.gz · Zuletzt geändert: 2023/02/17 08:32 (Externe Bearbeitung)