The Arduino DCC++ Base Station, v1.0, program file SerialCommand.cpp contains complete descriptions of every DCC++ Base Station command, including all input parameters and return parameters. A summary of these commands (without listing the parameters) is as follows:


<t>:        sets the throttle for a mobile engine decoder using 128-step speeds

       Returns: <T 3 bytes>


<f>:        controls mobile engine decoder functions F0-F28

       Returns: none


<a>:        controls stationary accessory decoders

       Returns: none


<T>:        controls turnouts connected to stationary accessory decoders

       Returns: <H ID THROW> or <X>


<Z>:        controls outputs connected to        

Returns: <Y ID ACTIVATE> or <X>


<S>:        Sensor

Returns: 


<Q>:        Return status of each sensor

Returns: status of each sensor <Q id> (active) or <q id> (not active)


<w>:        writes a configuration variable byte to an engine decoder on the main ops track

Returns: none


<b>:        sets/clear a configuration variable bit in an engine decoder on the main operations track

Returns: none


<W>:        writes a configuration variable byte to an engine decoder on the programming track

Returns: <r Callbacknum|Callbacksub|CV value>


<B>:        sets/clear a configuration variable bit in an engine decoder on the programming track

Returns: <r Callbacknum|Callbacksub|CV bit value>


<R>:        reads a configuration variable byte from an engine decoder on the programming track

Returns: <r Callbacknum|Callbacksub|CV Value>


<1>:        turns on track power

Returns: <p1>


<0>:        turns off track power

Returns: <p0>


<c>:        reads current draw from main operations track

Returns: <a Current>


<s>:        returns status messages, including power state, turnout states, and sketch version

Returns: series of status messages that can be read

      • <p0>|<p1>|<2>
      • <T 2 bytes>
      • <iDCC++ BASE STATION FOR ARDUINO X / Motor Shield: V- X / date time>
      • <NcommType: "SERIAL | Local IP>
      • <H ID THROW> for each Turnout defined
      • <Y ID ACTIVATE> for each Output defined


<E>:        store in EEPROM

Returns: <e nTurnouts nSensors>


<e>:        clear settings in EEPROM

Returns: <O>


< >:        Return a carriage return

Returns: a carriage return


<D>:        Enter diagnostic mode

Returns: 


<M>:        write a packet

Returns: none


<P>:        write a packet

Returns: none


<F>:        determine how much free SRAM in Arduino

Returns: <f mem>


<L>:        List bit contents

Returns: