Difference between revisions of "XpressNet"
(7 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
− | + | XpressNet<sup>TM</sup> is the name given to the throttle network created by Lenz and also implemented by other model railway electronics manufacturers. Electrically, XpressNet<sup>TM</sup> is based around half duplex RS-485 and is a polled network running at 62.5 Kbaud. The [[CS-105]] provides hardware support for this bus protocol through the RJ12 port labeled AUX Cabs. Software support is now available starting with CS-105 software version 2.0. Hardware and software support is also available on the AUX Cabs port of the [[LCC WiFi Panel]]. | |
==Unsupported Features== | ==Unsupported Features== | ||
− | Some of the unsupported features are due to intrinsic limitations of translation between LCC and | + | Some of the unsupported features are due to intrinsic limitations of translation between LCC and XpressNet. Support for some of the unsupported features may be added as time and development resources permit, and will be prioritized based on customer feedback. Only commands starting with XpressNet 3.0 and beyond are supported. X-Bus V1 and V2 commands are not supported. |
− | ===Locomotive Addresses=== | + | ===Locomotive Long Addresses Less than 100=== |
Locomotive addresses 1-99 are always DCC short addresses. Locomotive Addresses 100-9999 are always DCC long addresses. | Locomotive addresses 1-99 are always DCC short addresses. Locomotive Addresses 100-9999 are always DCC long addresses. | ||
− | ===Locomotive Speed Step | + | ===Locomotive 28 Speed Step Mode=== |
− | Locomotives are always controlled in 128 speed step mode. If an | + | Locomotives are always controlled in 128 speed step mode. If an XpressNet device requests 14, 27, or 28 speed step mode, the CS-105 will emulate the speed step mode and automatically translate an interpolated 128 speed step to the locomotive. |
===Locomotive Functions=== | ===Locomotive Functions=== | ||
− | + | By default, function 2 is hard-coded to momentary. All other functions are hard-coded to latching. Function momentary or latching mode can be customized in the command stations database and is loaded from the command station database if available. Function momentary or latching mode setup from an XpressNet device is not supported. Functions 29 through 68 are not currently supported. | |
+ | {| class="wikitable" | ||
+ | |''NOTE: Some throttles, such as the Lenz LH200 do not support momentary functions. On these throttles, F2 and other momentary functions will always be latching.'' | ||
+ | |} | ||
===Locomotive Consisting=== | ===Locomotive Consisting=== | ||
− | Consist setup is not supported. Consists setup on a native LCC throttle (such as the UWT-100 or UWT-50) will operate from an | + | Consist setup is not supported. Consists setup on a native LCC throttle (such as the UWT-100 or UWT-50) will operate from an XpressNet device using any of the consist members' addresses. The XpressNet throttle does not indicate consist membership. |
===Locomotive Real-Time Updates=== | ===Locomotive Real-Time Updates=== | ||
− | + | If the locomotive is also under the control of another device, the XpresssNet throttle is notified. This is often indicated by a flashing display. However, unsolicited real-time speed and function updates are not provided due to the XpressNet protocol not supporting this feature.. | |
===Programming=== | ===Programming=== | ||
− | Program Track and Program on the Main | + | Program Track and Program on the Main are not supported. |
− | ===Model Time=== | + | ===Model Time (Fast Clock)=== |
Model Time (Fast Clock) is not currently supported. | Model Time (Fast Clock) is not currently supported. | ||
− | ===Accessory Activation and Feedback=== | + | ===Accessory Activation and Feedback >2044=== |
Activation and Feedback is available for DCC accessory decoder addresses 1 - 2044. Addresses above 2044 are not supported. Lenz feedback input modules are not supported. | Activation and Feedback is available for DCC accessory decoder addresses 1 - 2044. Addresses above 2044 are not supported. Lenz feedback input modules are not supported. | ||
==Supported and Unsupported Command Summary== | ==Supported and Unsupported Command Summary== | ||
− | {| class="wikitable" | + | Please see the [https://www.lenz-elektronik.de/src/pdf/Lenz_XpressNet_Doku.pdf XpressNet Documentation] for additional information about the XpressNet protocol. |
− | |+Commands from CS-105 to | + | {| class="wikitable mw-collapsible" |
+ | |+Commands from CS-105 to XpressNet Device | ||
!Supported | !Supported | ||
!XNET Version | !XNET Version | ||
Line 62: | Line 66: | ||
|V3 | |V3 | ||
|Request Acknowledgement | |Request Acknowledgement | ||
− | |P+ | + | |P+0x00+ |
| | | | ||
| | | | ||
Line 578: | Line 582: | ||
|- | |- | ||
|No | |No | ||
− | | | + | |V4.0 |
|Function Status Response F29 - F68 | |Function Status Response F29 - F68 | ||
|P+0x60+ | |P+0x60+ | ||
Line 621: | Line 625: | ||
<sup>1</sup> Only supports Broadcast Feedback for one address (pair) at a time. | <sup>1</sup> Only supports Broadcast Feedback for one address (pair) at a time. | ||
− | <sup>2</sup> The CS-105 reports version 3. | + | <sup>2</sup> The CS-105 reports version 3.6. It does support some version 3.8 commands. |
<sup>3</sup> Support for Command Station Busy is unnecessary because the CS-105 is always able to respond and never needs to report that it is busy. | <sup>3</sup> Support for Command Station Busy is unnecessary because the CS-105 is always able to respond and never needs to report that it is busy. | ||
− | {| class="wikitable" | + | {| class="wikitable mw-collapsible" |
− | |+Commands from | + | |+Commands from XpressNet Device to CS-105 |
!Supported | !Supported | ||
!XNET Version | !XNET Version | ||
Line 1,190: | Line 1,194: | ||
| | | | ||
|- | |- | ||
− | | | + | |Yes |
|V3.6 | |V3.6 | ||
|Locomotive Function Operation Group 4 | |Locomotive Function Operation Group 4 | ||
Line 1,202: | Line 1,206: | ||
| | | | ||
|- | |- | ||
− | | | + | |Yes |
|V3.6 | |V3.6 | ||
|Locomotive Function Operation Group 5 | |Locomotive Function Operation Group 5 |
Latest revision as of 03:24, 9 February 2024
XpressNetTM is the name given to the throttle network created by Lenz and also implemented by other model railway electronics manufacturers. Electrically, XpressNetTM is based around half duplex RS-485 and is a polled network running at 62.5 Kbaud. The CS-105 provides hardware support for this bus protocol through the RJ12 port labeled AUX Cabs. Software support is now available starting with CS-105 software version 2.0. Hardware and software support is also available on the AUX Cabs port of the LCC WiFi Panel.
Contents
Unsupported Features
Some of the unsupported features are due to intrinsic limitations of translation between LCC and XpressNet. Support for some of the unsupported features may be added as time and development resources permit, and will be prioritized based on customer feedback. Only commands starting with XpressNet 3.0 and beyond are supported. X-Bus V1 and V2 commands are not supported.
Locomotive Long Addresses Less than 100
Locomotive addresses 1-99 are always DCC short addresses. Locomotive Addresses 100-9999 are always DCC long addresses.
Locomotive 28 Speed Step Mode
Locomotives are always controlled in 128 speed step mode. If an XpressNet device requests 14, 27, or 28 speed step mode, the CS-105 will emulate the speed step mode and automatically translate an interpolated 128 speed step to the locomotive.
Locomotive Functions
By default, function 2 is hard-coded to momentary. All other functions are hard-coded to latching. Function momentary or latching mode can be customized in the command stations database and is loaded from the command station database if available. Function momentary or latching mode setup from an XpressNet device is not supported. Functions 29 through 68 are not currently supported.
NOTE: Some throttles, such as the Lenz LH200 do not support momentary functions. On these throttles, F2 and other momentary functions will always be latching. |
Locomotive Consisting
Consist setup is not supported. Consists setup on a native LCC throttle (such as the UWT-100 or UWT-50) will operate from an XpressNet device using any of the consist members' addresses. The XpressNet throttle does not indicate consist membership.
Locomotive Real-Time Updates
If the locomotive is also under the control of another device, the XpresssNet throttle is notified. This is often indicated by a flashing display. However, unsolicited real-time speed and function updates are not provided due to the XpressNet protocol not supporting this feature..
Programming
Program Track and Program on the Main are not supported.
Model Time (Fast Clock)
Model Time (Fast Clock) is not currently supported.
Accessory Activation and Feedback >2044
Activation and Feedback is available for DCC accessory decoder addresses 1 - 2044. Addresses above 2044 are not supported. Lenz feedback input modules are not supported.
Supported and Unsupported Command Summary
Please see the XpressNet Documentation for additional information about the XpressNet protocol.
Supported | XNET Version | Command | Call Byte | Header | Data 1 | Data 2 | Data 3 | Data 4 | Data 5 | Data 6 | Data 7 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Yes | V3 | Normal Inquery | P+0x40+ | |||||||||
Yes | V3 | Request Acknowledgement | P+0x00+ | |||||||||
Yes | V3 | Broadcast Normal Operation Resume | 0x60 | 0x61 | 0x01 | 0x60 | ||||||
Yes | V3 | Broadcast Emergency Off | 0x60 | 0x61 | 0x00 | 0x61 | ||||||
Yes | V3 | Broadcast Emergency Stop | 0x60 | 0x81 | 0x00 | 0x81 | ||||||
No | V3 | Broadcast Service Mode Entry | 0x60 | 0x61 | 0x02 | 0x63 | ||||||
Yes | V3 | Broadcast Accessory Feedback1 | 0xA0 | 0x40+N | ADR_1 | DAT_1 | ADR_2 | DAT_2 | ... | ... | X-OR | |
Yes | V3.8 | Broadcast Accessory Feedback from 1025 | 0xA0 | 0x43 | ADRH | ADRL | DAT | X-OR | ||||
No | V3.8 | Broadcast Model Time | 0x60 | 0x63 | 0x03 | Hour&DoW | Min&Stop | X-OR | ||||
No | V3 | Program Info Short Circuit | P+0x60+ | 0x61 | 0x12 | X-OR | ||||||
No | V3 | Program Info No Response | P+0x60+ | 0x61 | 0x13 | X-OR | ||||||
No | V3 | Program Info Busy | P+0x60+ | 0x61 | 0x1F | X-OR | ||||||
No | V3 | Program Info Ready | P+0x60+ | 0x61 | 0x11 | X-OR | ||||||
No | V3 | Program Info Register and Paged | P+0x60+ | 0x63 | 0x10 | CV# | DAT | X-OR | ||||
No | V3.6 | Program Info Direct CV1 - 255 & 1024 | P+0x60+ | 0x63 | 0x14 | CV# | DAT | X-OR | ||||
No | V3.6 | Program Info Direct CV256 - 511 | P+0x60+ | 0x63 | 0x15 | CV# | DAT | X-OR | ||||
No | V3.6 | Program Info Direct CV512 - 767 | P+0x60+ | 0x63 | 0x16 | CV# | DAT | X-OR | ||||
No | V3.6 | Program Info Direct CV768 - 1023 | P+0x60+ | 0x63 | 0x17 | CV# | DAT | X-OR | ||||
No | V3.8 | Report Service Variable | P+0x60+ | 0x63 | 0x20 | SV# | DAT | X-OR | ||||
Yes | V3 | Command Station Version 3.0+2 | P+0x60+ | 0x63 | 0x21 | DAT_1 | DAT_2 | X-OR | ||||
Yes | V3 | Command Station Status | P+0x60+ | 0x62 | 0x22 | DAT | X-OR | |||||
No | V3.8 | Command Station Advanced Version | P+0x60+ | 0x67 | 0x23 | Build_H | Build_L | Ver | Build_H | Build_L | Ver | X-OR |
No | V3.8 | Program on the Main Result | P+0x60+ | 0x64 | 0x24 | ADRH | ADRL | DAT | X-OR | |||
No | V3.8 | Model Time | P+0x60+ | 0x64 | 0x25 | Hour&DoW | Min&Stop | Factor | X-OR | |||
Yes | V3 | Transmission Error | P+0x60+ | 0x61 | 0x80 | X-OR | ||||||
No | V3 | Command Station Busy3 | P+0x60+ | 0x61 | 0x81 | X-OR | ||||||
Yes | V3 | Command Not Supported | P+0x60+ | 0x61 | 0x82 | X-OR | ||||||
Yes | V3 | Accessory Feedback | P+0x60+ | 0x42 | ADR | DAT | X-OR | |||||
Yes | V3.8 | Accessory Feedback from 1025 | P+0x60+ | 0x43 | ADRH | ADRL | DAT | X-OR | ||||
Yes | V3 | Locomotive Information Normal | P+0x60+ | 0xE4 | Mode | Speed | F0-F4 | F5-F12 | X-OR | |||
Yes | V3.6 | Function Info Response F13 - F28 | P+0x60+ | 0xE3 | 0x52 | F13-F20 | F21-F28 | X-OR | ||||
No | V4.0 | Function Info Response F29 - F68 | P+0x60+ | 0xE6 | 0x%3 | F29-F36 | F37-F44 | F45-F52 | F53-F60 | F61-F68 | X-OR | |
No | V3 | Locomotive Information Consist Member | P+0x60+ | 0xE5 | Mode | Speed | F0-F4 | F5-F12 | MTR | X-OR | ||
No | V3 | Locomotive Information Consist | P+0x60+ | 0xE2 | Mode | Speed | X-OR | |||||
No | V3 | Locomotive Information Double Header | P+0x60+ | 0xE6 | Mode | Speed | F0-F4 | F5-F12 | ADRH | ADRL | X-OR | |
No | V3 | Locomotive Operated by Another Device | P+0x60+ | 0xE3 | 0x40 | ADRH | ADRL | X-OR | ||||
Yes | V3 | Function Status Response | P+0x60+ | 0xE3 | 0x50 | F0-F4 | F5-F12 | X-OR | ||||
Yes | V3.6 | Function Status Response F13 - F28 | P+0x60+ | 0xE4 | 0x51 | F13-F20 | F21-F28 | Refresh | X-OR | |||
No | V4.0 | Function Status Response F29 - F68 | P+0x60+ | 0xE6 | 0x54 | F29-F36 | F37-F44 | F45-F52 | F53-F60 | F61-F68 | X-OR | |
No | V3 | Locomotive Search Result | P+0x60+ | 0xE3 | 0x30+K | ADRH | ADRL | X-OR | ||||
No | V3 | Error Message | P+0x60+ | 0xE1 | 0x80+F | X-OR |
1 Only supports Broadcast Feedback for one address (pair) at a time.
2 The CS-105 reports version 3.6. It does support some version 3.8 commands.
3 Support for Command Station Busy is unnecessary because the CS-105 is always able to respond and never needs to report that it is busy.
Supported | XNET Version | Command | Header | ID | Data 1 | Data 2 | Data 3 | Data 4 | Data 5 | Data 6 |
---|---|---|---|---|---|---|---|---|---|---|
Yes | V3 | Acknowledgement Reponse | 0x20 | 0x20 | ||||||
Yes | V3 | Resume Operations Request | 0x21 | 0x81 | 0xA0 | |||||
Yes | V3 | Emergency Stop Request | 0x80 | 0x80 | ||||||
Yes | V3 | Emergency Off Request | 0x21 | 0x80 | 0xA1 | |||||
Yes | V3 | Emergency Stop Locomotive Request | 0x92 | ADRH | ADRL | X-OR | ||||
No | V3 | Program Register Mode Read | 0x22 | 0x11 | Reg | X-OR | ||||
No | V3.6 | Program Direct Mode Read CV1 - 256 & 1024 | 0x22 | 0x18 | CV# | X-OR | ||||
No | V3.6 | Program Direct Mode Read CV257 - 511 | 0x22 | 0x19 | CV# | X-OR | ||||
No | V3.6 | Program Direct Mode Read CV512 - 767 | 0x22 | 0x1A | CV# | X-OR | ||||
No | V3.6 | Program Direct Mode Read CV768 - 1023 | 0x22 | 0x1B | CV# | X-OR | ||||
No | V3 | Program Paged Mode Read | 0x22 | 0x14 | CV# | X-OR | ||||
No | V3 | Program Results Request | 0x21 | 0x10 | 0x31 | |||||
No | V3 | Program Register Mode Write | 0x23 | 0x12 | Reg | DAT | X-OR | |||
No | V3.6 | Program Direct Mode Write CV1 - 256 & 1024 | 0x23 | 0x1C | CV# | DAT | X-OR | |||
No | V3.6 | Program Direct Mode Write CV257 - 511 | 0x23 | 0x1D | CV# | DAT | X-OR | |||
No | V3.6 | Program Direct Mode Write CV512 - 767 | 0x23 | 0x1E | CV# | DAT | X-OR | |||
No | V3.6 | Program Direct Mode Write CV768 - 1023 | 0x23 | 0x1F | CV# | DAT | X-OR | |||
No | V3 | Program Paged Mode Write | 0x23 | 0x17 | CV# | DAT | X-OR | |||
Yes | V3 | Command Station Version Request | 0x21 | 0x21 | 0x00 | |||||
No | V3.8 | Command Station Advanced Version Request | 0x21 | 0x23 | 0x02 | |||||
Yes | V3 | Command Station Status Request | 0x21 | 0x24 | 0x05 | |||||
No | V3 | Command Station Startup Mode Request | 0x22 | 0x22 | Mode | X-OR | ||||
No | V3.8 | Service Variable Read | 0x22 | 0x25 | SV# | X-OR | ||||
No | V3.8 | Service Variable Write | 0x23 | 0x26 | SV# | DAT | X-OR | |||
No | V3.8 | Program on Main Result Request | 0x21 | 0x27 | 0x06 | |||||
No | V3.8 | Command Station Reset Trigger | 0x21 | 0x28 | 0x09 | |||||
No | V4.0 | Device Version info | 0x24 | 0x29 | Ver | Level | Type | X-OR | ||
No | V3.8 | Model Time Request | 0x21 | 0x2A | 0x0B | |||||
No | V3.8 | Model Time Set | 0x24 | 0x2B | Hour&DoW | Min | Factor | X-OR | ||
No | V4.0 | Model Time Stop | 0x21 | 0x2D | 0x0C | |||||
No | V4.0 | Model Time Start | 0x21 | 0x2C | 0x0D | |||||
Yes | V3 | Accessory Feedback Request | 0x42 | ADR | Nibble | X-OR | ||||
Yes | V3.8 | Accessory Feedback Request up to 2048 | 0x43 | ADRH | ADRL | Nibble | X-OR | |||
Yes | V3 | Accessory Operation Request | 0x52 | ADR | DAT | X-OR | ||||
Yes | V3.8 | Accessory Operation Request up to 2048 | 0x53 | ADRH | ADRL | DAT | X-OR | |||
Yes | V3 | Locomotive Information Request | 0xE3 | 0x00 | ADRH | ADRL | X-OR | |||
Yes | V3 | Locomotive Function Status Request | 0xE3 | 0x07 | ADRH | ADRL | X-OR | |||
Yes | V3.6 | Locomotive Function Status F13 - F28 | 0xE3 | 0x08 | ADRH | ADRL | X-OR | |||
No | V4.0 | Locomotive Function Status F29 - F68 | 0xE3 | 0x0A | ADRH | ADRL | X-OR | |||
Yes | V3 | Locomotive Speed and Direction 14SS | 0xE4 | 0x10 | ADRH | ADRL | Velocity | X-OR | ||
Yes | V3 | Locomotive Speed and Direction 27SS | 0xE4 | 0x11 | ADRH | ADRL | Velocity | X-OR | ||
Yes | V3 | Locomotive Speed and Direction 28SS | 0xE4 | 0x12 | ADRH | ADRL | Velocity | X-OR | ||
Yes | V3 | Locomotive Speed and Direction 128SS | 0xE4 | 0x13 | ADRH | ADRL | Velocity | X-OR | ||
Yes | V3 | Locomotive Function Operation Group 1 | 0xE4 | 0x20 | ADRH | ADRL | F0-F4 | X-OR | ||
Yes | V3 | Locomotive Function Operation Group 2 | 0xE4 | 0x21 | ADRH | ADRL | F5-F8 | X-OR | ||
Yes | V3 | Locomotive Function Operation Group 3 | 0xE4 | 0x22 | ADRH | ADRL | F9-F12 | X-OR | ||
Yes | V3.6 | Locomotive Function Operation Group 4 | 0xE4 | 0x23 | ADRH | ADRL | F13-F20 | X-OR | ||
Yes | V3.6 | Locomotive Function Operation Group 5 | 0xE4 | 0x28 | ADRH | ADRL | F21-F28 | X-OR | ||
No | V4.0 | Locomotive Function Operation Group 6 | 0xE4 | 0x29 | ADRH | ADRL | F29-F36 | X-OR | ||
No | V4.0 | Locomotive Function Operation Group 7 | 0xE4 | 0x2A | ADRH | ADRL | F37-F44 | X-OR | ||
No | V4.0 | Locomotive Function Operation Group 8 | 0xE4 | 0x2B | ADRH | ADRL | F45-F52 | X-OR | ||
No | V4.0 | Locomotive Function Operation Group 9 | 0xE4 | 0x50 | ADRH | ADRL | F53-F60 | X-OR | ||
No | V4.0 | Locomotive Function Operation Group 10 | 0xE4 | 0x51 | ADRH | ADRL | F61-F68 | X-OR | ||
No | V4.0 | Locomotive Function Operation Binary Short | 0xE4 | 0x5E | ADRH | ADRL | D&F29-F127 | X-OR | ||
No | V4.0 | Locomotive Function Operation Binary Long | 0xE4 | 0x5F | ADRH | ADRL | D&F_low | F_high | X-OR | |
No | V3 | Locomotive Function Status Set Group 1 | 0xE4 | 0x24 | ADRH | ADRL | F0-F4 | X-OR | ||
No | V3 | Locomotive Function Status Set Group 2 | 0xE4 | 0x25 | ADRH | ADRL | F5-F8 | X-OR | ||
No | V3 | Locomotive Function Status Set Group 3 | 0xE4 | 0x26 | ADRH | ADRL | F9-F12 | X-OR | ||
No | V3.6 | Locomotive Function Status Set Group 4 | 0xE4 | 0x27 | ADRH | ADRL | F13-F20 | X-OR | ||
No | V3.6 | Locomotive Function Status Set Group 5 | 0xE4 | 0x2C | ADRH | ADRL | F21-F28 | X-OR | ||
No | V4.0 | Locomotive Function Status Set Group 6 | 0xE4 | 0x2D | ADRH | ADRL | F29-F36 | X-OR | ||
No | V4.0 | Locomotive Function Status Set Group 7 | 0xE4 | 0x2E | ADRH | ADRL | F37-F44 | X-OR | ||
No | V4.0 | Locomotive Function Status Set Group 8 | 0xE4 | 0x52 | ADRH | ADRL | F45-F52 | X-OR | ||
No | V4.0 | Locomotive Function Status Set Group 9 | 0xE4 | 0x53 | ADRH | ADRL | F53-F60 | X-OR | ||
No | V4.0 | Locomotive Function Status Set Group 10 | 0xE4 | 0x54 | ADRH | ADRL | F61-F68 | X-OR | ||
No | V3.6 | Locomotive Function Refresh Mode | 0xE4 | 0x2F | ADRH | ADRL | RF | X-OR | ||
No | V3 | Double header Create | 0xE5 | 0x43 | ADR1H | ADR1L | ADR2H | ADR2L | X-OR | |
No | V3 | Double Header Disolve | 0xE5 | 0x43 | ADR1H | ADR1L | 0x00 | 0x00 | X-OR | |
No | V3 | Consist Add Locomotive | 0xE4 | 0x40+R | ADRH | ADRL | MTR | X-OR | ||
No | V3 | Consist Remove Locomotive | 0xE4 | 0x42 | ADRH | ADRL | MTR | X-OR | ||
No | V3 | Program on the Main Write | 0xE6 | 0x30 | ADRH | ADRL | 0xEC+C | CV | DAT | X-OR |
No | V3.6 | Program on the Main Read | 0xE6 | 0x30 | ADRH | ADRL | 0xE4+C | CV | 0x00 | X-OR |
No | V3.6 | Program on the Main Write Bit | 0xE6 | 0x30 | ADRH | ADRL | 0x7C+C | CV | DAT | X-OR |
No | V3 | Consist Member Inquiry | 0xE4 | 0x01+R | MTR | ADRH | ADRL | X-OR | ||
No | V3 | Consist Address Inquiry | 0xE2 | 0x03+R | MTR | X-OR | ||||
No | V3 | Command Station Locomotive Stack Inquiry | 0xE3 | 0x05+R | ADRH | ADRL | X-OR | |||
No | V3 | Command Station Locomotive Stack Delete | 0xE3 | 0x44 | ADRH | ADRL | X-OR |
Copyright & Trademarks
Copyright © Train Control Systems, Inc 2022. XpressNetTM is a trademark of Lenz Elektronik GmbH. Any unattributed copyrights and trademarks are unintentional and should be brought to the attention of Train Control Systems, Inc for correction.