diff --git a/DCCEXProtocol_8h_source.html b/DCCEXProtocol_8h_source.html
index edfd72c..f00f82b 100644
--- a/DCCEXProtocol_8h_source.html
+++ b/DCCEXProtocol_8h_source.html
@@ -106,347 +106,348 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 63 #ifndef DCCEXPROTOCOL_H
- 64 #define DCCEXPROTOCOL_H
-
- 66 #include "DCCEXInbound.h"
- 67 #include "DCCEXLoco.h"
- 68 #include "DCCEXRoutes.h"
- 69 #include "DCCEXTurnouts.h"
- 70 #include "DCCEXTurntables.h"
-
-
- 73 const int MAX_OUTBOUND_COMMAND_LENGTH = 100;
- 74 const int MAX_SERVER_DESCRIPTION_PARAM_LENGTH = 100;
- 75 const int MAX_COMMAND_PARAMS = 50;
-
-
-
-
-
-
-
-
-
- 85 enum TrackManagerMode {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 117 size_t write(uint8_t c) {
return 1; }
-
- 123 size_t write(
const uint8_t *buffer,
size_t size) {
return size; }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 227 void getLists(
bool rosterRequired,
bool turnoutListRequired,
bool routeListRequired,
bool turntableListRequired);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 415 void setTrackType(
char track, TrackManagerMode type,
int address);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 459 void _processCommand();
- 460 void _processServerDescription();
- 461 void _processMessage();
- 462 void _processScreenUpdate();
-
-
- 465 void _processLocoBroadcast();
- 466 int _getValidFunctionMap(
int functionMap);
- 467 int _getSpeedFromSpeedByte(
int speedByte);
- 468 Direction _getDirectionFromSpeedByte(
int speedByte);
- 469 void _setLoco(
int address,
int speed, Direction direction);
- 470 void _processReadResponse();
-
-
-
- 474 bool _requestedRoster();
- 475 void _processRosterList();
- 476 void _requestRosterEntry(
int address);
- 477 void _processRosterEntry();
-
-
-
- 481 bool _requestedTurnouts();
- 482 void _processTurnoutList();
- 483 void _requestTurnoutEntry(
int id);
- 484 void _processTurnoutEntry();
- 485 void _processTurnoutBroadcast();
-
-
-
- 489 bool _requestedRoutes();
- 490 void _processRouteList();
- 491 void _requestRouteEntry(
int id);
- 492 void _processRouteEntry();
-
-
- 495 void _getTurntables();
- 496 bool _requestedTurntables();
- 497 void _processTurntableList();
- 498 void _requestTurntableEntry(
int id);
- 499 void _processTurntableEntry();
- 500 void _requestTurntableIndexEntry(
int id);
- 501 void _processTurntableIndexEntry();
- 502 void _processTurntableBroadcast();
-
-
- 505 void _processTrackPower();
- 506 void _processTrackType();
-
-
- 509 int _rosterCount = 0;
- 510 int _turnoutCount = 0;
-
- 512 int _turntableCount = 0;
- 513 int _version[3] = {};
-
-
-
-
-
-
- 520 char _outboundCommand[MAX_OUTBOUND_COMMAND_LENGTH];
-
- 522 unsigned long _lastServerResponseTime;
- 523 char _inputBuffer[512];
-
- 525 bool _receivedVersion =
false;
- 526 bool _receivedLists =
false;
- 527 bool _rosterRequested =
false;
- 528 bool _receivedRoster =
false;
- 529 bool _turnoutListRequested =
false;
- 530 bool _receivedTurnoutList =
false;
- 531 bool _routeListRequested =
false;
- 532 bool _receivedRouteList =
false;
- 533 bool _turntableListRequested =
false;
- 534 bool _receivedTurntableList =
false;
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 64 #ifndef DCCEXPROTOCOL_H
+ 65 #define DCCEXPROTOCOL_H
+
+ 67 #include "DCCEXInbound.h"
+ 68 #include "DCCEXLoco.h"
+ 69 #include "DCCEXRoutes.h"
+ 70 #include "DCCEXTurnouts.h"
+ 71 #include "DCCEXTurntables.h"
+
+
+ 74 const int MAX_OUTBOUND_COMMAND_LENGTH = 100;
+ 75 const int MAX_SERVER_DESCRIPTION_PARAM_LENGTH = 100;
+ 76 const int MAX_COMMAND_PARAMS = 50;
+
+
+
+
+
+
+
+
+
+ 86 enum TrackManagerMode {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 118 size_t write(uint8_t c) {
return 1; }
+
+ 124 size_t write(
const uint8_t *buffer,
size_t size) {
return size; }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 228 void getLists(
bool rosterRequired,
bool turnoutListRequired,
bool routeListRequired,
bool turntableListRequired);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 416 void setTrackType(
char track, TrackManagerMode type,
int address);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 460 void _processCommand();
+ 461 void _processServerDescription();
+ 462 void _processMessage();
+ 463 void _processScreenUpdate();
+
+
+ 466 void _processLocoBroadcast();
+ 467 int _getValidFunctionMap(
int functionMap);
+ 468 int _getSpeedFromSpeedByte(
int speedByte);
+ 469 Direction _getDirectionFromSpeedByte(
int speedByte);
+ 470 void _setLoco(
int address,
int speed, Direction direction);
+ 471 void _processReadResponse();
+
+
+
+ 475 bool _requestedRoster();
+ 476 void _processRosterList();
+ 477 void _requestRosterEntry(
int address);
+ 478 void _processRosterEntry();
+
+
+
+ 482 bool _requestedTurnouts();
+ 483 void _processTurnoutList();
+ 484 void _requestTurnoutEntry(
int id);
+ 485 void _processTurnoutEntry();
+ 486 void _processTurnoutBroadcast();
+
+
+
+ 490 bool _requestedRoutes();
+ 491 void _processRouteList();
+ 492 void _requestRouteEntry(
int id);
+ 493 void _processRouteEntry();
+
+
+ 496 void _getTurntables();
+ 497 bool _requestedTurntables();
+ 498 void _processTurntableList();
+ 499 void _requestTurntableEntry(
int id);
+ 500 void _processTurntableEntry();
+ 501 void _requestTurntableIndexEntry(
int id);
+ 502 void _processTurntableIndexEntry();
+ 503 void _processTurntableBroadcast();
+
+
+ 506 void _processTrackPower();
+ 507 void _processTrackType();
+
+
+ 510 int _rosterCount = 0;
+ 511 int _turnoutCount = 0;
+
+ 513 int _turntableCount = 0;
+ 514 int _version[3] = {};
+
+
+
+
+
+
+ 521 char _outboundCommand[MAX_OUTBOUND_COMMAND_LENGTH];
+
+ 523 unsigned long _lastServerResponseTime;
+ 524 char _inputBuffer[512];
+
+ 526 bool _receivedVersion =
false;
+ 527 bool _receivedLists =
false;
+ 528 bool _rosterRequested =
false;
+ 529 bool _receivedRoster =
false;
+ 530 bool _turnoutListRequested =
false;
+ 531 bool _receivedTurnoutList =
false;
+ 532 bool _routeListRequested =
false;
+ 533 bool _receivedRouteList =
false;
+ 534 bool _turntableListRequested =
false;
+ 535 bool _receivedTurntableList =
false;
+
+
+
Class to create a software consist of one or more ConsistLoco objects.
Definition: DCCEXLoco.h:185
-Delegate responses and broadcast events to the client software to enable custom event handlers.
Definition: DCCEXProtocol.h:127
-virtual void receivedServerVersion(int major, int minor, int patch)
Notify when the server version has been received.
Definition: DCCEXProtocol.h:133
-virtual void receivedRosterList()
Notify when the roster list is received.
Definition: DCCEXProtocol.h:140
-virtual void receivedTurnoutAction(int turnoutId, bool thrown)
Notify when a turnout state change is received.
Definition: DCCEXProtocol.h:173
-virtual void receivedMessage(char *message)
Notify when a broadcast message has been received.
Definition: DCCEXProtocol.h:137
-virtual void receivedTrackType(char track, TrackManagerMode type, int address)
Notify when a track type change is received.
Definition: DCCEXProtocol.h:168
-virtual void receivedScreenUpdate(int screen, int row, char *message)
Notify when a screen update is received.
Definition: DCCEXProtocol.h:189
-virtual void receivedIndividualTrackPower(TrackPower state, int track)
Notify when an individual track power state change is received.
Definition: DCCEXProtocol.h:162
-virtual void receivedLocoUpdate(Loco *loco)
Notify when an update to a Loco object is received.
Definition: DCCEXProtocol.h:153
-virtual void receivedTurntableList()
Notify when the turntable list is received.
Definition: DCCEXProtocol.h:149
-virtual void receivedRouteList()
Notify when the route list is received.
Definition: DCCEXProtocol.h:146
-virtual void receivedReadLoco(int address)
Notify when a loco address is read from the programming track.
Definition: DCCEXProtocol.h:183
-virtual void receivedTurnoutList()
Notify when the turnout list is received.
Definition: DCCEXProtocol.h:143
-virtual void receivedTurntableAction(int turntableId, int position, bool moving)
Notify when a turntable index change is received.
Definition: DCCEXProtocol.h:179
-virtual void receivedTrackPower(TrackPower state)
Notify when the global track power state change is received.
Definition: DCCEXProtocol.h:157
-Main class for the DCCEXProtocol library.
Definition: DCCEXProtocol.h:193
+Delegate responses and broadcast events to the client software to enable custom event handlers.
Definition: DCCEXProtocol.h:128
+virtual void receivedServerVersion(int major, int minor, int patch)
Notify when the server version has been received.
Definition: DCCEXProtocol.h:134
+virtual void receivedRosterList()
Notify when the roster list is received.
Definition: DCCEXProtocol.h:141
+virtual void receivedTurnoutAction(int turnoutId, bool thrown)
Notify when a turnout state change is received.
Definition: DCCEXProtocol.h:174
+virtual void receivedMessage(char *message)
Notify when a broadcast message has been received.
Definition: DCCEXProtocol.h:138
+virtual void receivedTrackType(char track, TrackManagerMode type, int address)
Notify when a track type change is received.
Definition: DCCEXProtocol.h:169
+virtual void receivedScreenUpdate(int screen, int row, char *message)
Notify when a screen update is received.
Definition: DCCEXProtocol.h:190
+virtual void receivedIndividualTrackPower(TrackPower state, int track)
Notify when an individual track power state change is received.
Definition: DCCEXProtocol.h:163
+virtual void receivedLocoUpdate(Loco *loco)
Notify when an update to a Loco object is received.
Definition: DCCEXProtocol.h:154
+virtual void receivedTurntableList()
Notify when the turntable list is received.
Definition: DCCEXProtocol.h:150
+virtual void receivedRouteList()
Notify when the route list is received.
Definition: DCCEXProtocol.h:147
+virtual void receivedReadLoco(int address)
Notify when a loco address is read from the programming track.
Definition: DCCEXProtocol.h:184
+virtual void receivedTurnoutList()
Notify when the turnout list is received.
Definition: DCCEXProtocol.h:144
+virtual void receivedTurntableAction(int turntableId, int position, bool moving)
Notify when a turntable index change is received.
Definition: DCCEXProtocol.h:180
+virtual void receivedTrackPower(TrackPower state)
Notify when the global track power state change is received.
Definition: DCCEXProtocol.h:158
+Main class for the DCCEXProtocol library.
Definition: DCCEXProtocol.h:194
void setThrottle(Loco *loco, int speed, Direction direction)
Set the provided loco to the specified speed and direction.
Definition: DCCEXProtocol.cpp:178
int getMinorVersion()
Retrieve the minor version of EX-Commandstation.
Definition: DCCEXProtocol.cpp:170
bool receivedTurntableList()
Check if turntable list has been received.
Definition: DCCEXProtocol.cpp:381
@@ -460,18 +461,18 @@
void connect(Stream *stream)
Connect the stream object to interact with DCC-EX.
Definition: DCCEXProtocol.cpp:79
void startRoute(int routeId)
Start a route/automation.
Definition: DCCEXProtocol.cpp:350
unsigned long getLastServerResponseTime()
Retrieve the last time the server responded.
Definition: DCCEXProtocol.cpp:174
-Route * routes
Linked list of Route objects to form the list of routes and automations.
Definition: DCCEXProtocol.h:449
+Route * routes
Linked list of Route objects to form the list of routes and automations.
Definition: DCCEXProtocol.h:450
bool receivedRouteList()
Check if route list has been received.
Definition: DCCEXProtocol.cpp:348
bool receivedTurnoutList()
Check if turnout list has been received.
Definition: DCCEXProtocol.cpp:307
int getTurntableCount()
Get the number of turntable entries.
Definition: DCCEXProtocol.cpp:379
void rotateTurntable(int turntableId, int position, int activity=0)
Rotate a turntable object.
Definition: DCCEXProtocol.cpp:392
bool receivedRoster()
Check if roster has been received.
Definition: DCCEXProtocol.cpp:289
~DCCEXProtocol()
Destructor for the DCCEXProtocol object.
Definition: DCCEXProtocol.cpp:65
-Loco * roster
Linked list of Loco objects to form the roster.
Definition: DCCEXProtocol.h:443
+Loco * roster
Linked list of Loco objects to form the roster.
Definition: DCCEXProtocol.h:444
void powerTrackOff(char track)
Turn power off for the specified track.
Definition: DCCEXProtocol.cpp:434
void deactivateAccessory(int accessoryAddress, int accessorySubAddr)
Deactivate DCC accessory at the specified address and subaddress.
Definition: DCCEXProtocol.cpp:477
void getNumberSupportedLocos()
Request the number of supported cabs(locos)
Definition: DCCEXProtocol.cpp:504
-Turntable * turntables
Linked list of Turntable objects to form the list of turntables.
Definition: DCCEXProtocol.h:452
+Turntable * turntables
Linked list of Turntable objects to form the list of turntables.
Definition: DCCEXProtocol.h:453
void functionOn(Loco *loco, int function)
Turn the specified function on for the provided loco.
Definition: DCCEXProtocol.cpp:201
int getRouteCount()
Get the number of route entries.
Definition: DCCEXProtocol.cpp:346
void setTrackType(char track, TrackManagerMode type, int address)
set track type for the specified track
Definition: DCCEXProtocol.cpp:441
@@ -488,7 +489,7 @@
Turntable * getTurntableById(int turntableId)
Retrieve a turntable object by its ID.
Definition: DCCEXProtocol.cpp:383
void powerOn()
Global track power on command.
Definition: DCCEXProtocol.cpp:413
Turnout * getTurnoutById(int turnoutId)
Retrieve a turnout/point object by its ID.
Definition: DCCEXProtocol.cpp:310
-Turnout * turnouts
Linked list of Turnout objects to form the turnout list.
Definition: DCCEXProtocol.h:446
+Turnout * turnouts
Linked list of Turnout objects to form the turnout list.
Definition: DCCEXProtocol.h:447
void pauseRoutes()
Pause all routes/automations.
Definition: DCCEXProtocol.cpp:359
int getTurnoutCount()
Get the number of turnouts.
Definition: DCCEXProtocol.cpp:305
void setLogStream(Stream *console)
Set the stream object for console output.
Definition: DCCEXProtocol.cpp:77
@@ -502,14 +503,14 @@
void check()
Check for incoming DCC-EX broadcasts/responses and parse them.
Definition: DCCEXProtocol.cpp:90
void emergencyStop()
Initiate an emergency stop.
Definition: DCCEXProtocol.cpp:276
Class for a Loco object representing a DCC addressed locomotive.
Definition: DCCEXLoco.h:54
-Nullstream class for initial DCCEXProtocol instantiation to direct streams to nothing.
Definition: DCCEXProtocol.h:94
-size_t write(uint8_t c)
Dummy write method for single int.
Definition: DCCEXProtocol.h:117
-int peek()
Dummy peek method.
Definition: DCCEXProtocol.h:108
-int available()
Dummy availability check.
Definition: DCCEXProtocol.h:101
-void flush()
Dummy flush method.
Definition: DCCEXProtocol.h:104
-NullStream()
Constructor for the NullStream object.
Definition: DCCEXProtocol.h:97
-int read()
Dummy read method.
Definition: DCCEXProtocol.h:112
-size_t write(const uint8_t *buffer, size_t size)
Dummy write method for buffered input.
Definition: DCCEXProtocol.h:123
+Nullstream class for initial DCCEXProtocol instantiation to direct streams to nothing.
Definition: DCCEXProtocol.h:95
+size_t write(uint8_t c)
Dummy write method for single int.
Definition: DCCEXProtocol.h:118
+int peek()
Dummy peek method.
Definition: DCCEXProtocol.h:109
+int available()
Dummy availability check.
Definition: DCCEXProtocol.h:102
+void flush()
Dummy flush method.
Definition: DCCEXProtocol.h:105
+NullStream()
Constructor for the NullStream object.
Definition: DCCEXProtocol.h:98
+int read()
Dummy read method.
Definition: DCCEXProtocol.h:113
+size_t write(const uint8_t *buffer, size_t size)
Dummy write method for buffered input.
Definition: DCCEXProtocol.h:124
Class to contain and maintain the various Route attributes and methods.
Definition: DCCEXRoutes.h:40
Class to contain and maintain the various Turnout/Point attributes and methods.
Definition: DCCEXTurnouts.h:35
Class to contain and maintain the various Turntable attributes and methods.
Definition: DCCEXTurntables.h:82