DCC: Unterschied zwischen den Versionen

Aus Digital Modellbahn
Zeile 27: Zeile 27:
 
|-
 
|-
 
|schnelle DCC Signalausgabe auf festem PIN aktivierbar (je MCU)
 
|schnelle DCC Signalausgabe auf festem PIN aktivierbar (je MCU)
|#define DCC_USE_TRUE_C <br> #undef DCC_USE_TRUE_C
+
|'''ON:''' #define DCC_USE_TRUE_C <br> '''OFF:''' #undef DCC_USE_TRUE_C
 
|-
 
|-
|Auswahl des Timer
+
|Auswahl des Timer1 (sonst Timer2)
|#define DCC_USE_TIMER1 <br> #undef DCC_USE_TIMER1
+
|'''ON:''' #define DCC_USE_TIMER1 <br> '''OFF:''' #undef DCC_USE_TIMER1
 
|}
 
|}
  

Version vom 11. Februar 2016, 09:15 Uhr

Eigenbau | Allgemein | Railcom | DCC-Dekoder | Servo-Dekoder | Spezialdekoder

Dcc logo.jpg

DCC-Protokoll

Software

Die Software ist für die Arduino IDE geschrieben. Mit dieser Software wird ein NMRA konformes DCC-Signal erzeugt. Die Wiederholungsanzahl und die maximale Anzahl an Loks lassen sich in der Library für verschiedene MCUs (UNO, MEGA, etc.) einstellen. Aufbauend auf der Railstars CmdrArduino Library (Keine wiederholendes Senden von Lok-DCC-Daten wie im NMRA-Standard gefordert!) wurde eine leistungsstarke DCC Interface Library entwickelt.

Arduino DCC Library

Die Arduino DCC Interface Library ist in C++ geschrieben und kann mit verschiedenen Arduino's verwendet werden. Die Library unterstützt, je nach verfügbaren RAM und Architektur des Mikrocontroller, eine variable Einstellung der Lok- und Weichenanzahl, sowie die Auswahl des Timer1 oder Timer2 für die Signalerzeugung sind möglich. Die Steuerung erfolgt ausschließlich im DCC Format und erfolgt mit 14, 28 oder 128 Fahrstufen. Unterstützt wird das Schalten von 29 Funktionen (F0 bis F28) und maximal 2048 Weichen. Die Library nutzt außerdem automatisch ab Adresse 100 - lange Adressen für die Ansteuerung von Loks. Es ist auch möglich Lokdekoder über CV zu programmieren

Download

DCC Interface Dokumentation

Konfiguration:

DCCHardware_config.h
schnelle DCC Signalausgabe auf festem PIN aktivierbar (je MCU) ON: #define DCC_USE_TRUE_C
OFF: #undef DCC_USE_TRUE_C
Auswahl des Timer1 (sonst Timer2) ON: #define DCC_USE_TIMER1
OFF: #undef DCC_USE_TIMER1
DCCPacketScheduler.h
Anzahl steuerbarer Weichen (je MCU) #define AccessoryMax 2048
Speichergröße für Lokdaten (je MCU) - max. steuerbare Loks #define SlotMax 128
Speichergröße für Datenpakete (je MCU) #define PERIODIC_REFRESH_QUEUE_SIZE 180
Zubehör Adressverschiebung (increment) #define ROCO 0 //Roco/Fleischmann
#define IB 4 //IntelliBox
DCCPacket.h
Senden von langen Adressen #define MAX_DCC_SHORT_ADDRESS 99