CMUX User Guide
CMUX User Guide
CMUX User Guide
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
This document is refered to the following products:<br />
GM862-GPS 3 990 250 657 GE863-GPS 3 990 250 660<br />
GM862-QUAD 3 990 250 659<br />
GM862-QUAD-PY 3 990 250 658<br />
GE863-OUAD Pb balls 3 990 250 662<br />
GE863-PY Pb balls 3 990 250 661<br />
GE864-QUAD 3 990 250 675<br />
GE864-PY 3 990 250 676<br />
GE863-QUAD 3 990 250 648<br />
GE863-PY 3 990 250 650<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 2 of 24
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
Contents<br />
1 INTRODUCTION................................................................................................................4<br />
1.1 Scope of document ................................................................................................................4<br />
2 APPLICABLE DOCUMENTS ............................................................................................5<br />
3 TECHNICAL CHARACTERISTICS ...................................................................................6<br />
3.1 Product architecture ..............................................................................................................6<br />
3.2 Implementation feature and limitation..................................................................................6<br />
3.3 AT command interface interactions .....................................................................................6<br />
4 SERIAL MULTIPLEXER PROTOCOL...............................................................................8<br />
4.1 <strong>CMUX</strong> Frame Structure ..........................................................................................................8<br />
4.2 UIH Control Channel Frame Coding ...................................................................................11<br />
4.3 UIH Data Channel Frame Coding ........................................................................................13<br />
4.4 <strong>CMUX</strong> establishment scenario ............................................................................................14<br />
5 TELIT SERIAL PORT PC INTERFACE FOR <strong>CMUX</strong>.......................................................15<br />
5.1 Interface Specification .........................................................................................................15<br />
5.2 Scenario ................................................................................................................................15<br />
5.3 Graphical Interface ...............................................................................................................16<br />
5.4 Application Setup .................................................................................................................18<br />
6 INTEGRATOR HINTS......................................................................................................19<br />
6.1 How to begin .........................................................................................................................19<br />
6.2 Flow control ..........................................................................................................................20<br />
6.3 Blocking command ..............................................................................................................20<br />
6.4 Lookup table for FCS calculation .......................................................................................21<br />
6.5 Ignored command ................................................................................................................22<br />
7 AT Commands................................................................................................................23<br />
8 Document Change Log ..................................................................................................24<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 3 of 24
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
1 INTRODUCTION<br />
1.1 Scope of document<br />
The scope of the present document is to describe a multiplexing protocol implemented in the Telit<br />
module. The multiplexing protocol can be used to send any data, SMS, fax, TCP data.<br />
NOTE: CUMX can be activated only with the interface SELINT 2; this means that for the<br />
modules GM862-QUAD/PY and GE863-QUAD/PY which start as default in SELINT 0 or SELINT<br />
1 1 , before activating <strong>CMUX</strong>, interface should be changed to SELINT 2.<br />
1 please consult AT Commands Reference <strong>Guide</strong> 80000ST10025a for more information<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 4 of 24
2 APPLICABLE DOCUMENTS<br />
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
• Digital Cellular Telecommunications Systems (Phase 2+); Terminal Equipment to Mobile Station<br />
(TE-MS) "Multiplexer Protocol"; ETSI TS 101 369 V7.1.0 (1999-11), GSM 07.10 Version 7.1.0,<br />
Release 199<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 5 of 24
3 TECHNICAL CHARACTERISTICS<br />
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
3.1 Product architecture<br />
The Multiplexer mode enables one serial interface to transmit data to four different customer<br />
applications. This is achieved by providing four virtual channels using a Multiplexer (Mux).<br />
This is especially advantageous when a fax/data/GPRS call is ongoing. Using the Multiplexer features,<br />
e.g. controlling the module or using the SMS service can be done via the additional channels without<br />
disturbing the data flow; access to the second UART is not necessary.<br />
Furthermore, several accesses to the module can be created with the Multiplexer. This is of great<br />
advantage when several independent electronic devices or interfaces are used.<br />
To access the three virtual interfaces, both the GSM engine and the customer application must<br />
contain Mux components, which communicate over the multiplexer protocol.<br />
In Multiplexer mode, AT commands and data are encapsulated into packets. Each packet has channel<br />
identification and may vary in length.<br />
3.2 Implementation feature and limitation<br />
• 7.10 <strong>CMUX</strong> Basic Option used<br />
• <strong>CMUX</strong> implementation support four full DLCI (Serial Port)<br />
• <strong>CMUX</strong> can operate only at Fixed rate, if AT+<strong>CMUX</strong> is sent with IPR=0 an Error is returned,<br />
with a maximum rate of 115200<br />
• Every instance has its own user profile storage in NVM<br />
• Independent setting of unsolicited message.<br />
• In case of GPS product one serial port can be dedicated to NMEA output.<br />
• Every Instance has its own independent flow control.<br />
3.3 AT command interface interactions<br />
The following AT commands would modify the global operation of the system, independently from the<br />
<strong>CMUX</strong> instance that is using them.<br />
• AT#HFMICG<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 6 of 24
• AT#HSMICG<br />
• AT+CMUT<br />
• AT#STM<br />
• AT#SHFEC<br />
• AT#CAP<br />
• AT+CLVL<br />
• AT#SRS<br />
• AT+CRSL<br />
• AT#SRP<br />
• AT#NITZ<br />
• AT+CALM<br />
• AT#SHFSD<br />
• AT#DAC<br />
• AT+CFUN<br />
• AT+COPS<br />
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
The AT commands that require to modify a setting would be saved in a global profile. They would be<br />
reloaded at boot time with relation to the ATY1, ATY0 previously issued on the instance <strong>CMUX</strong>1 or<br />
ASC0.<br />
When in multiplexed mode it is suggested not to used the +CFUN command but the PSC (Power<br />
saving command) described by GSM 7.10 specification.<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 7 of 24
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
4 SERIAL MULTIPLEXER PROTOCOL<br />
4.1 <strong>CMUX</strong> Frame Structure<br />
All information transmitted between the module and the application is based on frame that have the<br />
following frame Structure<br />
Flag Address Control Length Information FCS Flag<br />
Indicator<br />
1 octet 1 octet 1 octet 1or2 octets Unspecified length<br />
but integral number<br />
of octets<br />
1 octet 1 octet<br />
Flag Octet<br />
Each frame begins and ends with a flag octet define as ( binary:11111001 or hexadecimal 0xF9)<br />
Address Octet<br />
Is formatted as follow:<br />
0 1 2 3 4 5 6 7<br />
EA C/R D L C I<br />
EA: Extension Bit<br />
Shall be always 1 in the basic option of the protocol<br />
C/R: Command Response<br />
The C/R (command/response) bit identifies the frame as either a command or a response. In<br />
conformance with the standard HDLC rules, a command frame contains the address of the data link<br />
connection entity to which it is transmitted while a response frame contains the address of the data<br />
link connection entity transmitting the frame.<br />
Command/response Direction C/R value<br />
Command Application ⎯⎯→ Module 1<br />
Module ⎯⎯→ Application 0<br />
Response Application ⎯⎯→ Module 0<br />
Module ⎯⎯→ Application 1<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 8 of 24
Example:<br />
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
Application take the initiative to initialize the multiplexer (i.e. sends the SABM command at DLCI 0 )<br />
and the Module that accepts the initialization of the multiplexer (i.e. sends the UA response at DLCI 0)<br />
DLCI: Data Link Connection Identifier<br />
DLCI value identify the Virtual Port inside the Module with the following assignment<br />
DLCI<br />
0 Reserved to Control Channel<br />
1 Virtual Port #1<br />
2 Virtual Port #2<br />
3 Virtual Port #3<br />
4 Reserved for Python debug<br />
Control Field<br />
The content of the control field defines the type of frame<br />
Frame Type 0 1 2 3 4 5 6 7<br />
SABM (Set Asynchronous 1 1 1 1 P/F 1 0 0<br />
Balanced Mode)<br />
UA (Unnumbered<br />
1 1 0 0 P/F 1 1 0<br />
Acknowledgement)<br />
DM (Disconnected Mode) 1 1 1 1 P/F 0 0 0<br />
DISC (Disconnect) 1 1 0 0 P/F 0 1 0<br />
UIH (Unnumbered<br />
Information with Header<br />
check)<br />
1 1 1 1 P/F 1 1 1<br />
P/F is the Poll/Final bit:<br />
Commands: P=1<br />
Response: F=1<br />
SABM (Set Asynchronous Balanced Mode )<br />
The SABM command shall be used by the application to start the HDLC Connection.<br />
The module will answer to this command with an UA Frame.<br />
UA (Unnumbered Acknowledgement)<br />
The UA response is sent by the module to inform that a SABM or DISC command was accepted<br />
DM (Disconnected Mode)<br />
The DM response is sent by the module to inform that a SABM or DISC command was rejected, this<br />
can happens if for example a SABM is sent for a DLCI not supported. Or if a DISC is sent to a DLCI<br />
Address already closed.<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 9 of 24
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
DISC (Disconnect)<br />
The DISC is used to close a previous established connection. If the application send a disc for the<br />
DLCI 0 (the control channel), all the established channel will be closed.<br />
The module will answer to this command with an UA Frame.<br />
UIH (Unnumbered Information)<br />
Refer to the specific chapter<br />
Length Indicator<br />
This Octet specified the length of the information field<br />
0 1 2 3 4 5 6 7<br />
E/A L1 L2 L3 L4 L5 L6 L7<br />
E/A Bit shall be 1 if 7 bit are enough for the len ( len
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
4.2 UIH Control Channel Frame Coding<br />
DLCI shall be always 0<br />
Type Length<br />
Value<br />
Indicator<br />
1 octet 1or2 octets n Octet<br />
Type Octet:<br />
0 1 2 3 4 5 6 7<br />
EA C/R T Y P E<br />
EA: Extension Bit<br />
Shall be always 1.<br />
C/R:<br />
Identify if is a Command or Response<br />
Length indicator<br />
Is code like in the Cmux Frame Structure<br />
Value<br />
The number of octet are specified by the Length Indicator and depend on the type of the command as<br />
follow:<br />
Multiplexer close down (CLD)<br />
The multiplexer close down command is used to reset the link into normal AT command mode without<br />
multiplexing<br />
Type Len<br />
3 0<br />
Test Command (Test)<br />
The test command is used to test the connection between MS and the TE. The length byte describes<br />
the number of values bytes, which are used as a verification pattern. The opposite entity shall respond<br />
with exactly the same value bytes.<br />
Type Len Value 1 Value2 Value .. Value N<br />
4 N Any Char Any Char Any Char Any Char<br />
Modem Status Command (MSC)<br />
This command is used to send V.24 signal info.<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 11 of 24
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
Format without break indication<br />
Type Len Value 1 Value 2<br />
6 2 DLCI V24 Octet<br />
Format with Break Indication<br />
V24 Octet from Module to Application<br />
V24 Octet from Application to Module<br />
Type Len Value 1 Value 2 Value 3<br />
6 3 DLCI V24 Octet Break<br />
Octet<br />
0 1 2 3 4 5 6 7<br />
1 FC DSR CTS 0 0 RIN DCD<br />
G<br />
0 1 2 3 4 5 6 7<br />
1 FC DTR RTS 0 0 0 0<br />
Break Octet<br />
0 1 2 3 4 5 6 7<br />
1 0 0 0 0 0 0 0<br />
This octet shall be sent every time a Break signal shall be simulated<br />
Non Supported Command Response (NSC)<br />
This response is sent whenever a command type is not supported by the receiving entity.<br />
Type Len Value 1<br />
8 1 Command Not<br />
Supported<br />
Power Saving Control (PSC)<br />
This command is used to program the power saving mode of the module when Multiplexer mode.<br />
AT+CFUN command shall not be used.<br />
Type Len Value 1<br />
6 1 Power Saving Mode<br />
Power Saving Mode: TBD<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 12 of 24
4.3 UIH Data Channel Frame Coding<br />
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
DLCI shall be 1,2,3 or 4<br />
Length Indicator<br />
1or2 octets<br />
<strong>User</strong> Data<br />
n Octet<br />
Type Octet:<br />
0 1 2 3 4 5 6 7<br />
EA C/R T Y P E<br />
EA: Extension Bit<br />
Shall always be 1.<br />
C/R:<br />
Identify if is a Command or Response<br />
Length indicator<br />
Is code like in the Cmux Frame Structure<br />
<strong>User</strong> Data<br />
The Number of data is defined by the Len Indicator<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 13 of 24
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
4.4 <strong>CMUX</strong> establishment scenario<br />
MSC CMU Establihment<br />
APPLICATION<br />
MODULE<br />
AT+<strong>CMUX</strong>=0<br />
OK<br />
SABM<br />
(DLCI = 0)<br />
UA<br />
((DLCI = 0)<br />
Control Channel<br />
Established<br />
SABM<br />
(DLCI = 1)<br />
UA<br />
((DLCI = 1)<br />
Virtual Port #1<br />
Open<br />
UIH<br />
(DLCI = 0, MSC on DLCI1 )<br />
UIH<br />
V.24 Signal<br />
Exchange<br />
( DLCI=0, MSC, On DLCI=1)<br />
UIH<br />
(DLCI = 1)<br />
UIH<br />
(DLCI=0, MSC)<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 14 of 24
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
5 TELIT SERIAL PORT PC INTERFACE<br />
FOR <strong>CMUX</strong><br />
5.1 Interface Specification<br />
To exploit the capabilities of <strong>CMUX</strong>, Telit developed a tool called Telit Serial Port MUX. It is a PC<br />
interface able to manage data coming/to be sent from/to <strong>CMUX</strong>. This target is achieved creating up to<br />
four serial virtual port on the PC and using a specific communication protocol to manage the<br />
communication between the real serial COM, changing data with <strong>CMUX</strong>, and each of the virtual port.<br />
5.2 Scenario<br />
Virtual COM 1<br />
PC TOOL 1<br />
MODULE<br />
<strong>CMUX</strong><br />
C<br />
O<br />
M<br />
Virtual COM 2<br />
Virtual COM 3<br />
PC TOOL 2<br />
PC TOOL 3<br />
P<br />
C<br />
Python debug<br />
PC TOOL 4<br />
As you can see, you can run 3 different applications using the same <strong>CMUX</strong> module, for example 3<br />
HyperTerminal sending commands at the same time to the same module.<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 15 of 24
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
5.3 Graphical Interface<br />
Telit Serial Port Mux application on your PC after installation looks like in the following figure:<br />
Modem Port Panel:<br />
• Real port (COM) used to communicate<br />
with PC<br />
• Speed (Baud rate)<br />
• Status<br />
• Model<br />
Virtual Port Panel:<br />
• Virtual port number<br />
• Status<br />
• Baud Rate<br />
• Bytes Transmitted\Received<br />
• RTS: Request to send<br />
• DTR: Data Terminal Ready<br />
• CTS: Clear To Send<br />
• DCD: Data Carrier Detect<br />
• DSR: Data Set Ready<br />
• RI: Ring Indicator<br />
Tray icon: when Telit Serial Port Mux is working, there is a<br />
Tray Icon Showing the state of the connection<br />
• Modem Port Panel: here you can find the information about the modem connected to your PC,<br />
like:<br />
1. COM on your PC used to transfer data, selected during the initial setup or selecting the<br />
Setup voice in the application menu.<br />
2. COM Speed selected.<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 16 of 24
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
3. Connection Status: it can be “idle” or “error” when <strong>CMUX</strong> is disconnected, “connecting”<br />
when PC is trying to connect to <strong>CMUX</strong> and “connected” when <strong>CMUX</strong> is connected<br />
successfully.<br />
4. Indication about the model of the modem connected.<br />
• Virtual Port Panel: here you can find all the information about the connection using a Virtual<br />
Com installed on your PC:<br />
1. Virtual Com number.<br />
2. Virtual Port Status: it can be “idle”, “idle no DCD”, “Error”, “Opened”.<br />
3. Baud Rate.<br />
4. Number of bytes received and transmitted (RX Bytes, TX Bytes).<br />
5. All the common serial port signals like RequestToSend, DataTerminalReady,<br />
ClearToSend, DataCarrierDetected, DataSetReady and RingIndicator.<br />
• Tray Icon: there is a Tray Icon indicating the status of the Serial Port Mux:<br />
1. <strong>CMUX</strong> connected: the Tray Icon is blinking.<br />
2. <strong>CMUX</strong> disconnected or connecting.<br />
3. <strong>CMUX</strong> error.<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 17 of 24
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
5.4 Application Setup<br />
The selection of the number of Virtual ports to be created, like the selection of the real COM to be<br />
used and its speed is made in the setup section. There are two possibilities to do this, during the tool<br />
installation and when the tool is running.<br />
Module Serial Port Panel:<br />
here you can select the Real COM to<br />
use and its speed<br />
Virtual Serial Port Panel:<br />
here you can create virtual ports<br />
Virtual Ports created are visible also on the Device Manager:<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 18 of 24
6 INTEGRATOR HINTS<br />
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
6.1 How to begin<br />
The customer/integrator in order to design its own Multiplexer application must follow these basic<br />
requirements:<br />
• The GSM engine supports the basic option and UIH Framing according to GSM 07.10;<br />
• Character framing must be configured for 8 data bits, no parity and 1 stop bit;<br />
• Hardware flow control is recommended for use with multiplexer mode. If used, it needs to be<br />
set before Multiplexer mode is entered;<br />
If the GSM engine is operated in multiplexer mode, the following restrictions apply:<br />
• MO and MT circuit-switched data and fax calls are available on any channels;<br />
• Multiplex mode cannot be started while autobauding (AT+IPR=0) is enabled;<br />
• XON/OFF flow control is not supported in multiplexer mode.<br />
When using the following functions, be aware of possible dependencies between the different<br />
channels. One way of avoiding problems may be to dedicate certain commands/features to one of the<br />
channels or to assure that the application avoids conflicts.<br />
• Call control: a voice call can be initiated, answered on any channel and closed only on the<br />
initialized channel;<br />
• Phonebook access: if you wish to write the same phonebook entry on two or more different<br />
channels at the same time, please note that the only the last entry will be stored;<br />
The following functions or events may be ongoing independently on different channels:<br />
• Unsolicited Result Codes (URCs) will generally be transmitted to all logical channels with the<br />
dependency on the issued AT+CNMI;<br />
• Single quality and cell information can be retrieved on a single channel;<br />
• Profile configuration commands can be issued and retrieved on any channel, no matter on<br />
which the command is executed.<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 19 of 24
6.2 Flow control<br />
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
The internal logical flow control represents the existing flow control to the module. For example, if a<br />
data call is initiated and the customer application transmits data to the module on this channel, the<br />
module will stop the data transmission from time to time. This happens because the module operates<br />
with a bandwidth of 9k6 on air, but the customer application uses a larger width. In this case the<br />
module sends a MSC message with FC-BIT set. After all data stored in the internal buffer have been<br />
sent, the module will send a second MSC message with FC-BIT reset. As already pointed out, the<br />
logical flow control operates like RTS/CTS but with FC-BIT on every channel. The RTS/CTS are not<br />
used for flow control because the traffic on the logical channels may cause a temporary loss of<br />
bandwidth on another channel. This behavior has no impact on the handshake V.24 lines.<br />
Hardware flow control is recommended for use with multiplexer.<br />
The customer application decodes and encodes the data. To prevent loss of data, the application must<br />
be able process the information about internal flow control (MSC) regulated by the module. Flow<br />
control information is transmitted within the data flow and contains messages whether or not the<br />
channel is allowed to send. As of Multiplexer Protocol, the customer application must set RTS (in the<br />
direction to the module) on channel 1. RTS shall not be switched off to prevent loss of data (control<br />
data cannot be sent in this case). If flow control is needed, it is recommended to use logical flow<br />
control on every channel.<br />
6.3 Blocking command<br />
With the first versions of the <strong>CMUX</strong> implementation some AT command will frieze execution of other<br />
command on the other instance until they complete. Executions of the freeze command restart<br />
automatically.<br />
The list of command is:<br />
• ATA <br />
• ATD <br />
• ATO<br />
• ATH<br />
• AT#CAMEN<br />
• AT#TPHOTO<br />
• AT+CGATT <br />
• AT+CGACT<br />
• AT+COPS<br />
• AT+CREG <br />
• AT#SEMAIL <br />
• AT#EMAILD <br />
• AT#SKTOP <br />
• AT#SKTD <br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 20 of 24
• AT#QDNS<br />
• AT+CAMM<br />
• All FTP Command<br />
• All CSURV Command<br />
• All Supplementary Service Command<br />
• All Phone Book related command<br />
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
6.4 Lookup table for FCS calculation<br />
In order to make easier the FCS calculation the following piece of code is provided.<br />
static const unsigned char crctable[256] = { //reversed, 8-bit, poly=0x07<br />
0x00, 0x91, 0xE3, 0x72, 0x07, 0x96, 0xE4, 0x75, 0x0E, 0x9F, 0xED, 0x7C, 0x09, 0x98, 0xEA, 0x7B,<br />
0x1C, 0x8D, 0xFF, 0x6E, 0x1B, 0x8A, 0xF8, 0x69, 0x12, 0x83, 0xF1, 0x60, 0x15, 0x84, 0xF6, 0x67,<br />
0x38, 0xA9, 0xDB, 0x4A, 0x3F, 0xAE, 0xDC, 0x4D, 0x36, 0xA7, 0xD5, 0x44, 0x31, 0xA0, 0xD2, 0x43,<br />
0x24, 0xB5, 0xC7, 0x56, 0x23, 0xB2, 0xC0, 0x51, 0x2A, 0xBB, 0xC9, 0x58, 0x2D, 0xBC, 0xCE, 0x5F,<br />
0x70, 0xE1, 0x93, 0x02, 0x77, 0xE6, 0x94, 0x05, 0x7E, 0xEF, 0x9D, 0x0C, 0x79, 0xE8, 0x9A, 0x0B,<br />
0x6C, 0xFD, 0x8F, 0x1E, 0x6B, 0xFA, 0x88, 0x19, 0x62, 0xF3, 0x81, 0x10, 0x65, 0xF4, 0x86, 0x17,<br />
0x48, 0xD9, 0xAB, 0x3A, 0x4F, 0xDE, 0xAC, 0x3D, 0x46, 0xD7, 0xA5, 0x34, 0x41, 0xD0, 0xA2, 0x33,<br />
0x54, 0xC5, 0xB7, 0x26, 0x53, 0xC2, 0xB0, 0x21, 0x5A, 0xCB, 0xB9, 0x28, 0x5D, 0xCC, 0xBE, 0x2F,<br />
0xE0, 0x71, 0x03, 0x92, 0xE7, 0x76, 0x04, 0x95, 0xEE, 0x7F, 0x0D, 0x9C, 0xE9, 0x78, 0x0A, 0x9B,<br />
0xFC, 0x6D, 0x1F, 0x8E, 0xFB, 0x6A, 0x18, 0x89, 0xF2, 0x63, 0x11, 0x80, 0xF5, 0x64, 0x16, 0x87,<br />
0xD8, 0x49, 0x3B, 0xAA, 0xDF, 0x4E, 0x3C, 0xAD, 0xD6, 0x47, 0x35, 0xA4, 0xD1, 0x40, 0x32, 0xA3,<br />
0xC4, 0x55, 0x27, 0xB6, 0xC3, 0x52, 0x20, 0xB1, 0xCA, 0x5B, 0x29, 0xB8, 0xCD, 0x5C, 0x2E, 0xBF,<br />
0x90, 0x01, 0x73, 0xE2, 0x97, 0x06, 0x74, 0xE5, 0x9E, 0x0F, 0x7D, 0xEC, 0x99, 0x08, 0x7A, 0xEB,<br />
0x8C, 0x1D, 0x6F, 0xFE, 0x8B, 0x1A, 0x68, 0xF9, 0x82, 0x13, 0x61, 0xF0, 0x85, 0x14, 0x66, 0xF7,<br />
0xA8, 0x39, 0x4B, 0xDA, 0xAF, 0x3E, 0x4C, 0xDD, 0xA6, 0x37, 0x45, 0xD4, 0xA1, 0x30, 0x42, 0xD3,<br />
0xB4, 0x25, 0x57, 0xC6, 0xB3, 0x22, 0x50, 0xC1, 0xBA, 0x2B, 0x59, 0xC8, 0xBD, 0x2C, 0x5E, 0xCF<br />
};<br />
static UINT8 CalcFCS( UINT8 *buf, int len)<br />
{<br />
UINT8 FCS=0xFF;<br />
while (len--) FCS=crctable[FCS^*buf++];<br />
return (0xFF-FCS);<br />
}<br />
static int CheckFCS( UINT8 *buf, int len)<br />
{<br />
UINT8 FCS=0xFF;<br />
UINT8 crc;<br />
while (len--)<br />
{<br />
FCS=crctable[FCS^*buf++];<br />
}<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 21 of 24
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
/*0xCF is the reversed order of 11110011.*/<br />
return (FCS==0xCF);<br />
}<br />
6.5 Ignored command<br />
This command are ignored by the module if the multiplexer is active.<br />
It is possible to read/write value but they have no effect on the behaviour of the module<br />
AT+IPR<br />
AT+IFC<br />
AT+ICF<br />
ATS2 • Escape sequence is not handled by the Module but shall be<br />
handled by the applicator that will send a BREAK signal to the<br />
module using the MSC command<br />
ATS12 • Like ATS2<br />
ATS25 • Module will recognize DTR off as soon as the MSC command is<br />
received<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 22 of 24
7 AT Commands<br />
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
AT commands related to the <strong>CMUX</strong> feature are the following:<br />
command<br />
+<strong>CMUX</strong><br />
#<strong>CMUX</strong>SCR 2<br />
description<br />
Enable/Disable Multiplexing Mode<br />
<strong>CMUX</strong> Script Enable<br />
For more detailed information please refer to AT Commands Reference <strong>Guide</strong> 80000ST10025a.<br />
2 only for the modules with Python feature<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 23 of 24
<strong>CMUX</strong> <strong>User</strong> <strong>Guide</strong><br />
30268ST10299A Rev. 0 - 13/10/06<br />
8 Document Change Log<br />
Revision Date Changes<br />
ISSUE #0 13/10/06 Initial release<br />
Reproduction forbidden without Telit Communications S.p.A. written authorization - All Right reserved page 24 of 24