20 #include "DCCpp_Uno.h" 23 #ifdef USE_TEXTCOMMAND 24 #include "TextCommand.h" 35 #if defined(USE_EEPROM) || defined(USE_TEXTCOMMAND) 36 #if defined(USE_EEPROM) && defined(DCCPP_DEBUG_MODE) 37 if (strncmp(
EEStore::data.
id, EESTORE_ID,
sizeof(EESTORE_ID)) != 0) {
38 DCCPP_INTERFACE.println(F(
"Turnout::begin() must be called BEFORE DCCpp.begin() !"));
44 else if (
get(
id) == NULL) {
52 this->
set(
id, add, subAdd);
54 #ifdef USE_TEXTCOMMAND 55 DCCPP_INTERFACE.print(
"<O>");
56 #if !defined(USE_ETHERNET) 57 DCCPP_INTERFACE.println(
"");
75 DCCpp::mainRegs.setAccessory(this->
data.
address, this->data.subAddress, this->data.tStatus);
84 #ifdef USE_TEXTCOMMAND 85 DCCPP_INTERFACE.print(
"<H");
86 DCCPP_INTERFACE.print(
data.
id);
88 DCCPP_INTERFACE.print(
" 0>");
90 DCCPP_INTERFACE.print(
" 1>");
91 #if !defined(USE_ETHERNET) 92 DCCPP_INTERFACE.println(
"");
97 #if defined(USE_EEPROM) || defined(USE_TEXTCOMMAND) 115 #ifdef USE_TEXTCOMMAND 116 DCCPP_INTERFACE.print(
"<X>");
117 #if !defined(USE_ETHERNET) 118 DCCPP_INTERFACE.println(
"");
131 #ifdef USE_TEXTCOMMAND 132 DCCPP_INTERFACE.print(
"<O>");
133 #if !defined(USE_ETHERNET) 134 DCCPP_INTERFACE.println(
"");
162 #if defined(USE_TEXTCOMMAND) 166 #ifdef DCCPP_DEBUG_MODE 168 DCCPP_INTERFACE.println(F(
"Turnout::begin() must be called BEFORE Turnout::load() !"));
203 #if defined(USE_TEXTCOMMAND) 210 switch(sscanf(c,
"%d %d %d",&n,&s,&m)){
218 DCCPP_INTERFACE.print(
"<H");
219 DCCPP_INTERFACE.print(n);
221 DCCPP_INTERFACE.print(
" 0>");
223 DCCPP_INTERFACE.print(
" 1>");
224 #if !defined(USE_ETHERNET) 225 DCCPP_INTERFACE.println(
"");
231 #ifdef USE_TEXTCOMMAND 234 DCCPP_INTERFACE.print(
"<X>");
235 #if !defined(USE_ETHERNET) 236 DCCPP_INTERFACE.println(
"");
250 #ifdef DCCPP_PRINT_DCCPP 263 #ifdef USE_TEXTCOMMAND 264 DCCPP_INTERFACE.print(
"<X>");
265 #if !defined(USE_ETHERNET) 266 DCCPP_INTERFACE.println(
"");
272 tt->
begin(
id, add, subAdd);
277 #endif //USE_TEXTCOMMAND 279 #if defined(USE_EEPROM) || defined(USE_TEXTCOMMAND) 280 #ifdef DCCPP_PRINT_DCCPP 288 DCCPP_INTERFACE.print(
"<X>");
289 #if !defined(USE_ETHERNET) 290 DCCPP_INTERFACE.println(
"");
296 DCCPP_INTERFACE.print(
"<H");
297 DCCPP_INTERFACE.print(tt->
data.
id);
298 DCCPP_INTERFACE.print(
" ");
300 DCCPP_INTERFACE.print(
" ");
303 DCCPP_INTERFACE.print(
" 0>");
305 DCCPP_INTERFACE.print(
" 1>");
306 #if !defined(USE_ETHERNET) 307 DCCPP_INTERFACE.println(
"");
static bool parse(char *c)
static void advance(int inIncrement)
static void remove(int id)
void set(int id, int add, int subAdd)
static Turnout * get(int id)
static Turnout * firstTurnout
static Turnout * create(int id, int add, int subAdd)
void begin(int id, int add, int subAdd)