TC3x Multiplexer User's Guide
TC3x_UG_01_V03.10 -
Released
Page 23/50
10.01.2002
are active. The data flow from the module's port now runs through the multiplexer (muxappl.exe and
pcmux.dll), i.e. it does not go directly through the controller to the first PC port as in the disabled mode
(again the red connection).
The names of the applications associated with each module are presented in the middle of each block.
The names of the server pipes are shown in the small block on top of each module. Please refer to
chapter 6.3 for a further description of what exactly is a server pipe. The required hardware, i.e. the
COM ports and GSM device are shown as a smaller block on both sides of the diagram.
The following subchapter
describes the role of the different modules related to the PC multiplexer
functionality. Chapter
describes the modules and required files which are part of the PC implemen-
tation but not directly involved in the base functionality.
6.1 Multiplexer Related Modules
The external multiplexer can be realized in two ways. You can either use the provided binaries of the
PC Mux or implement the multiplexer protocol in your own application to use the functionality of the
multiplexer mode. The following files can be provided:
ddmpadp.c
ddmpdlch.h
ddmpfra.c
ddmpfrah.h
ddmpfunc.c
ddmpio.c
ddmpmem.c
ddmpstat.c
ddmptype.c
ddmpadph.h
ddmpglob.h
ddmpmsgh.h
xamuxh.h
6.1.1 Muxappl.exe with Pcmux.dll
This block is the heart of the multiplexer implementation which does all the multiplexing and demulti-
plexing. The reason for implementing it in a separate DLL and an application is that the best approach
is to use the same source code of the multiplexer in the module software and on the PC side. For this
reason, this code is separated in a Windows DLL. In fact, there are some platform specific compiler
switches but the sources are the same.
Because the multiplexer sources use the interface of the module's operating system an encapsulating
application is necessary on the PC side which maps this interface to a Win32 compatible interface.
This mapping of the called functions and the used messages is the only reason for using the
muxappl.exe application. The following list describes the functions the multiplexer calls from the
operating system and which therefore must be implemented in muxappl.exe:
void MP_PostUserMessage(MP_PRIMITIVE *psPrimitive)
This function is used by the multiplexer to post a message to any receiver via the operating system. In
this function you find all messages the multiplexer uses and how they are mapped into the message
format used inside the PC framework.
UINT8 MP_ucGetMessage(struct MP_PRIMITIVE_tag *pstMpPrimitive, UINT8 ucMsgSize)
This function is called by the multiplexer when it has finished processing a message to get the next
message out of the message queue. The internal message queue contains the messages already in
the multiplexer format. The mapping from the PC adaptation format is done in the main message loop
MessageLoop().