Available software:
TCN Messenger | source code library programmed in C++ language |
TNM Agent | TCN respondent (replier) application |
TCN Messenger implements the TCN MD protocol referred to as the RTP MD protocol (Real-Time Message Data Protocol). The RTP MD protocol is a communication protocol used for on-board message communication between devices within the Train Communication Network (TCN).
The RTP MD protocol includes the line to relational layer according to the ISO/OSI reference model.
TCN Messenger is implemented as a source code library. The Messenger library contains a complete implementation of the TCN MD protocol including optional TCN multicast services, an implementation of an interface for TCN message transmission and an implementation of an interface for the transmission of UIC E-Telegrams.
The TCN Messenger library is programmed in C++. Porting to the target platform is therefore only possible if there is a C++ compiler for that platform. The library’s external interfaces are implemented in C only.
The TCN Messenger library is platform independent; this library does not require any OS or synchronization primitives. The library implements its own internal timers (which are derived from periodic calls to the main function) and its own dynamic memory (heap) management. Porting the TCN Messenger library to a given target platform means reserving memory for messages and packets (a pointer to this memory is passed to the library during initialization), connecting the library’s LMA (Link Message Adapter) to the driver of the given TCN bus, and driving the library by periodically calling the main function. Communication with the driver of the given bus is implemented using queues of MD packets, which are implemented as circular buffers, i.e. this implementation does not require any synchronization primitives either.
The TCN Messenger library can be used in any TCN device, from ED type display or VCU to TCN WTB gateway type device. At the same time, this library can also be used in service devices (e.g. PC notebook).
TNM (Train Netwok Management) Agent is a standard TCN respondent (replier) application that uses the RTP MD communication protocol for its functionality. TNM Agent is a server-type application that implements remote diagnostics, configuration and firmware upload services. These services are then used by a client application called a manager, which can be located anywhere on the TCN train network.
The TNM Agent application is implemented as a library using the TCN Messenger interface. It is programmed in the C++ language. Therefore, a C++ compiler must be available on the target platform. The external interface of the library is programmed only in C language.
The TNM Agent library implements all standard TNM station services, MVB/WTB line services, variable services, message services, domain services, UTC time services, journal, and a variety of user TNM services.
The TNM Agent library is a platform-independent library that does not require any OS or synchronization primitives. The library implements its own internal timers (which are derived from periodic calls to the main function). TNM services are implemented using standard interfaces (AVI, LPI, AMI, LSI); possibly implemented using callback functions that are supplied to the library from the outside during the initialization of individual groups of TNM services.
The TNM Agent library can be used in any TCN device that has implemented the TCN Messenger protocol for message transfer.
TCN Messenger | source code library programmed in C++ language |
TNM Agent | TCN respondent (replier) application |