DCCpp
This is the library version of a program for Arduino to control railroading DCC devices.
DCCpp_Uno.h
1 /**********************************************************************
2 
3 DCCpp_Uno.h
4 COPYRIGHT (c) 2013-2016 Gregg E. Berman
5 Adapted for DCCpp by Thierry PARIS
6 
7 Part of DCC++ BASE STATION for the Arduino
8 
9 **********************************************************************/
10 
11 #ifndef DCCpp_Uno_h
12 #define DCCpp_Uno_h
13 
14 #include "DCCpp.h"
15 
17 // RELEASE VERSION
19 
20 #define VERSION "2.0.0"
21 
23 // SELECT COMMUNICATION INTERACE
25 
26 #if defined(USE_ETHERNET)
27 
28  #define DCCPP_INTERFACE eServer
29  #define SDCARD_CS 4
30 
31 #else
32 
33  // define DCCPP_INTERFACE as serial in all cases to be able at least to print diagnostic messages on console
34  #define DCCPP_INTERFACE Serial
35 
36 #endif
37 
39 // SET WHETHER TO SHOW PACKETS - DIAGNOSTIC MODE ONLY
41 
42 // If SHOW_PACKETS is set to 1, then for select main operations track commands that modify an internal DCC packet register,
43 // if printFlag for that command is also set to 1, DCC++ BASE STATION will additionally return the
44 // DCC packet contents of the modified register in the following format:
45 
46 // <* REG: B1 B2 ... Bn CSUM / REPEAT>
47 //
48 // REG: the number of the main operations track packet register that was modified
49 // B1: the first hexadecimal byte of the DCC packet
50 // B2: the second hexadecimal byte of the DCC packet
51 // Bn: the nth hexadecimal byte of the DCC packet
52 // CSUM: a checksum byte that is required to be the final byte in any DCC packet
53 // REPEAT: the number of times the DCC packet was re-transmitted to the tracks after its iniital transmission
54 
55 //#define SHOW_PACKETS 0 // set to zero to disable printing of every packet for select main operations track commands
56 
58 
59 #endif