Telit Serial Port Mux
(v0.8 and above) The serial multiplexer is an optional eLua component that allows using several serial ports over a single physical serial link connection. It can be a very convenient feature, since some eLua components (such as or ) need a serial link to the PC and it’s very incovenient (or even impossible sometimes) to connect the eLua board to the PC with 2 or more serial cables. A common use scenario for the serial multiplexer is to have the eLua shell and RFS running over a single physical connection to the PC, a very convenient method that will probably appeal to most eLua users. How does it work? Linux already supports the virtual serial port mechanism described above via the standard UNIX pseudo terminals, see for details. Note that the multiplexer supports only BSD PTYs ( dev/ttypx) and not Unix98 PTYs ( /dev/ptmx).
Telit Serial Port Mux. Skip user information. Wednesday, September 20th 2006, 3:23pm. Telit Serial Port Mux. Telit Serial Port Mux. CMUX User Guide 30268ST10299A Rev. 6 TELIT SERIAL PORT PC INTERFACE FOR CMUX. 4 SERIAL MULTIPLEXER PROTOCOL 4.1 CMUX Frame Structure. Technical Documents / Programs & Documents. Product Description. Serial Port Mux. Telit Short Range RF Programming.
They are quite standard (although they are becoming obsolete in some Linux distributions) so you shouldn’t have any problems with them. A quick check for BSD PTYs is to look in your /dev directory for ttypx and ptypx files. If they aren’t there, you need to enable support for BSD PTYs in your system. How to do this is OS dependent and beyond the scope of this tutorial, so google is your friend.
For an example on how to enable them in Ubuntu check. Option Meaning BUILD_SERMUX Enable serial multiplexer support in eLua. SERMUX_PHYS_ID The ID of the physical UART interface used by the serial multiplexer. SERMUX_PHYS_SPEED Communication speed of the multiplexer UART interface. SERMUX_FLOW_TYPE Flow control type on the physical serial multiplexer interface, see for details. Autobag Hs 100 Excel Manual Calculation here. If not specified it defaults to 'no flow control'. SERMUX_NUM_VUART The number of virtual UART interfaces.
This number can’t be higher than 8. SERMUX_BUFFER_SIZES An array of SERMUX_NUM_VUART integers that specify the buffer sizes for the virtual UART interfaces. Note that a virtual UART MUST have a buffer associated with it. The sizes are specified as BUF_SIZE_xxx constants defined in inc/buf.h. • a build environment. This means gcc under Linux (see for example for instruction on how to install a toolchain in Ubuntu Linux) and a gcc-based development environment under Windows. How to install a gcc-based development environment under Windows is beyond the scope of this tutorial, but check and for possible solution (the mux server was compiled and tested under Win32 using the second soluation, the tdm gcc compiler).
See for details on how to install scons on Windows, or for details on how to install scons on Linux. To make things easier for RFS users mux includes a special operation mode ( rfsmux) that automatically 'talks' to the RFS server. The user doesn’t need to manually assign a virtual UART for the RFS server and start the RFS server. In this mode mux uses a special internal communication channel to the RFS server (that doesn’t require a virtual UART). A strict requirement for this mode is that eLua must be configured to assign the first virtual UART ID (SERMUX_SERVICE_ID_FIRST) to the RFS server (RFS_UART_ID). If this doesn’t happen, rfsmux mode will not work anymore (but note that you still can use the mux mode described above with this setup).
• the code is still in beta. It works well most of the time, but sometimes it simply crashes. If this happens, please consider submitting a bug report. • if your eLua board has two hardware serial ports that you can use and the PC has also two free serial ports, consider disabling the serial multiplexer completely. Run RFS on a hardware port and the system console on the other hardware port instead. Download Save 100 Mtx Mototrax Pc Download.
This is both more realiable and more efficient. • to avoid problems with the serial multiplexer use this sequence to start it. • make sure that your eLua board has support for hardware flow control (see for details). • specify the correct SERMUX_FLOW_TYPE value at build time (it should be PLATFORM_UART_FLOW_RTS PLATFORM_UART_FLOW_CTS). • make sure that the serial cable connecting the PC and the eLua board also supports flow control. Some simple serial connection cables have only the RX, TX and GND wires.