Date: 2024-10-28
Author: Jeroen Vreeken, jeroen@vreeken.net
This is a proposal to add support for RCN-213, also known as DCCext to the GA device group.
The GA INIT command is extended with optional parameters for the NMRA-DCC format similar to the protocolversion used to switch between short and long addresses in the GL NMRA-DCC INIT.
The GA SET command allows aspects (0 - 255) to be used as value for extended addresses, and allows a delay of 0 for any value.
INIT <bus> GA <addr> <protocol> <optional further parameters>
This command initializes a GA at address <addr> in the server. The following parameters are permitted:
Maerklin/Motorola Format
Valid addresses are from 1 to 324, valid ports are 0 or 1, valid values are: 0 and 1
NMRA-DCC Format
protocolversion
The protocolversion is 1 for the basic accessory format and 2 for the extended accessory (RCN-213) format.
For backwards compatibility an absent protocolversion will be interpreted as a 1.
For basic accessories valid addresses are from 1 to 2044, valid ports are 0 or 1, valid values are 0 and 1.
For extended accessories valid addresses are from 1 to 2048, 0 is the only valid port, valid values are aspects 0 - 255.
Selectrix Format
Valid addresses are from 0 to 111, valid ports are 1 to 8, valid values are: 0 and 1
Protocol by server
The server uses the initialisation parameters from its own configuration. The parameter list MAY give some parameters. Address, port and value are not limited.
SET <bus> GA <addr> <port> <value> <delay>
The port <port> of the decoder with the address <addr> is set to the value <value> for <delay> milliseconds. After time has expired the server automatically sends the value 0 to the decoder. In case the delay is -1 the automatic deactivation remains undone and the port remains active until it is deactivated by a further SET command. An SRCP server MAY execute momentary deactivations and reactivations of the port during this time. If applicable this is a demand of the hardware that does not permit certain maximum power durations to be exceeded. A delay of 0 is not valid.
Meaning of the arguments
addr
must be a valid number.
port
must be valid. In case an
unsupported port is given, an error message "
412 ERROR wrong value " is created.
value
must be valid (0=>deactivated, >1=>activated, 0-255 aspect for extended accessories)
If an invalid value is given an error message " 412
ERROR wrong value " is created.
delay
value in milliseconds
(1,000th seconds). It indicates after what time the server shall
deactivate an active port automatically (i.e. set port value to 0).
If delay
is -1 the port is not
automatically deactivated. If value
=0 is given (deactivation) the delay
parameter is ignored but it must be given (useful value is 1). A
port counts as active if its state is not equal zero. A delay of 0
is not valid. An error message " 412 ERROR wrong value " is created.
For an extended accessory a delay of 0 is valid for any aspect.