HE910/UE910/UL865 Families Ports
Transcription
HE910/UE910/UL865 Families Ports
SW Versions HE910 Family HE910 1 HE910-GA HE910-D HE910-EUR / HE910-EUD HE910-EUG / HE910-NAG HE910-NAR / HE910-NAD UE/UL Family (Embedded) UE910-EUR / UE910-EUD UE910-NAR / UE910-NAD UL865-EUR / UL865-EUD UL865-NAR / UL865-NAD UL865-N3G 12.00.xx4 12.00.xx4 12.00.xx4 12.00.xx4 12.00.xx4 12.00.xx4 12.00.xx4 12.00.xx4 12.00.xx4 12.00.xx4 12.00.xx4 Note: the features described in the present document are provided by the products equipped with the software versions equal or higher than the versions shown in the table. See also the Document History chapter. 1 HE910 is the “type name” of the products marketed as HE910-G & HE910-DG SPECIFICATIONS SUBJECT TO CHANGE WITHOUT NOTICE Notice While reasonable efforts have been made to assure the accuracy of this document, Telit assumes no liability resulting from any inaccuracies or omissions in this document, or from use of the information obtained herein. The information in this document has been carefully checked and is believed to be entirely reliable. However, no responsibility is assumed for inaccuracies or omissions. Telit reserves the right to make changes to any products described herein and reserves the right to revise this document and to make changes from time to time in content hereof with no obligation to notify any person of revisions or changes. Telit does not assume any liability arising out of the application or use of any product, software, or circuit described herein; neither does it convey license under its patent rights or the rights of others. It is possible that this publication may contain references to, or information about Telit products (machines and programs), programming, or services that are not announced in your country. Such references or information must not be construed to mean that Telit intends to announce such Telit products, programming, or services in your country. Copyrights This instruction manual and the Telit products described in this instruction manual may be, include or describe copyrighted Telit material, such as computer programs stored in semiconductor memories or other media. Laws in the Italy and other countries preserve for Telit and its licensors certain exclusive rights for copyrighted material, including the exclusive right to copy, reproduce in any form, distribute and make derivative works of the copyrighted material. Accordingly, any copyrighted material of Telit and its licensors contained herein or in the Telit products described in this instruction manual may not be copied, reproduced, distributed, merged or modified in any manner without the express written permission of Telit. Furthermore, the purchase of Telit products shall not be deemed to grant either directly or by implication, estoppel, or otherwise, any license under the copyrights, patents or patent applications of Telit, as arises by operation of law in the sale of a product. Computer Software Copyrights The Telit and 3rd Party supplied Software (SW) products described in this instruction manual may include copyrighted Telit and other 3rd Party supplied computer programs stored in semiconductor memories or other media. Laws in the Italy and other countries preserve for Telit and other 3rd Party supplied SW certain exclusive rights for copyrighted computer programs, including the exclusive right to copy or reproduce in any form the copyrighted computer program. Accordingly, any copyrighted Telit or other 3rd Party supplied SW computer programs contained in the Telit products described in this instruction manual may not be copied (reverse engineered) or reproduced in any manner without the express written permission of Telit or the 3rd Party SW supplier. Furthermore, the purchase of Telit products shall not be deemed to grant either directly or by implication, estoppel, or otherwise, any license under the copyrights, patents or patent applications of Telit or other 3rd Party supplied SW, except for the normal non-exclusive, royalty free license to use that arises by operation of law in the sale of a product. USAGE AND DISCLOSURE RESTRICTIONS License Agreements The software described in this document is the property of Telit and its licensors. It is furnished by express license agreement only and may be used only in accordance with the terms of such an agreement. Copyrighted Materials Software and documentation are copyrighted materials. Making unauthorized copies is prohibited by law. No part of the software or documentation may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language or computer language, in any form or by any means, without prior written permission of Telit High Risk Materials Components, units, or third-party products used in the product described herein are NOT fault-tolerant and are NOT designed, manufactured, or intended for use as on-line control equipment in the following hazardous environments requiring fail-safe controls: the operation of Nuclear Facilities, Aircraft Navigation or Aircraft Communication Systems, Air Traffic Control, Life Support, or Weapons Systems (High Risk Activities"). Telit and its supplier(s) specifically disclaim any expressed or implied warranty of fitness for such High Risk Activities. Trademarks TELIT and the Stylized T Logo are registered in Trademark Office. All other product or service names are the property of their respective owners. Copyright © Telit Communications S.p.A. 1. Introduction................................................................................................................... 8 2. Ports Arrangements and VSD ................................................................................... 11 3. The Winning Ports Configuration.............................................................................. 33 4. Services ....................................................................................................................... 35 fig. 1: AT Parser Instance concept ...................................................................................... 11 fig. 2: Module and Application Processor ............................................................................ 12 fig. 3: Factory Ports Arrangement ....................................................................................... 13 fig. 4: USBx channels mapped into virtual COMx ports ....................................................... 15 fig. 5: #PORTCFG=0 + USB cable connected .................................................................... 16 fig. 6: #PORTCFG=1 + USB cable connected .................................................................... 17 fig. 7: #PORTCFG=2 + USB cable connected .................................................................... 18 fig. 8: #PORTCFG=3 + USB cable connected .................................................................... 19 fig. 9: #PORTCFG=4 + USB cable connected .................................................................... 20 fig. 10: #PORTCFG=5 + USB cable connected .................................................................. 21 fig. 11: #PORTCFG=6 + USB cable connected .................................................................. 22 fig. 12: #PORTCFG=7 + USB cable connected .................................................................. 23 fig. 13: #PORTCFG=8 USB cable connected only .............................................................. 24 fig. 14: #PORTCFG=9 + USB cable connected .................................................................. 25 fig. 15: #PORTCFG=10 + USB cable connected ................................................................ 26 fig. 16: Physical COMx Ports............................................................................................... 27 fig. 17: Virtual Serial Ports of MUX ...................................................................................... 27 fig. 18: Ports Arrangement with CMUX................................................................................ 28 fig. 19: Ports Arrangement with CMUX + TTC..................................................................... 29 fig. 20: Virtual Serial ports of TELIT Serial Port MUX .......................................................... 30 fig. 21: Ports Arrangement when CMUX is connected to USB3 channel............................. 32 fig. 22: USIF0 port supports AT commands + NMEA sentences ......................................... 36 fig. 23: USB0 channel supports AT commands + NMEA sentences ................................... 37 fig. 24: USB5 channel supports only NMEA sentences ....................................................... 38 fig. 25: SPI port supports AT commands + NMEA sentences ............................................. 39 fig. 26: USB3-VC3 port supports AT commands + NMEA sentences ................................. 41 fig. 27: Python & MDM, MDM2 modules ............................................................................. 43 fig. 28: Python & MDM, MDM2, SER modules .................................................................... 44 fig. 29: Python & MDM, MDM2, SER, SER2 modules ......................................................... 45 fig. 30: Python & MDM, MDM2, SER, USB0 modules ......................................................... 46 fig. 31: Python & MDM, MDM2, SER and print modules ..................................................... 47 Tab. 1: Items managed by VSD .......................................................................................... 11 Tab. 2: Factory Ports Arrangement ..................................................................................... 13 Tab. 3: Factory Ports Arrangement when USB cable is connected ..................................... 14 Tab. 4: Mapping Table ........................................................................................................ 15 Tab. 5: #PORTCFG=0, no USB cable ................................................................................. 16 Tab. 6: #PORTCFG=0, with USB cable .............................................................................. 16 Tab. 7: #PORTCFG=1, no USB cable ................................................................................. 17 Tab. 8: #PORTCFG=1, with USB cable .............................................................................. 17 Tab. 9: #PORTCFG=2, no USB cable ................................................................................. 18 Tab. 10: #PORTCFG=2, with USB cable ............................................................................ 18 Tab. 11: #PORTCFG=3, no USB cable ............................................................................... 19 Tab. 12: #PORTCFG=3, with USB cable ............................................................................ 19 Tab. 13: #PORTCFG=4, no USB cable .................................................................................... 20 Tab. 14: #PORTCFG=4, with USB cable ............................................................................ 20 Tab. 15: #PORTCFG=5, no USB cable ............................................................................... 21 Tab. 16: #PORTCFG=5, with USB cable ............................................................................ 21 Tab. 17: #PORTCFG=6, no USB cable ............................................................................... 22 Tab. 18: #PORTCFG=6, with USB cable ............................................................................ 22 Tab. 19: #PORTCFG=7, no USB cable .................................................................................... 23 Tab. 20: #PORTCFG=7, with USB cable ................................................................................. 23 Tab. 21: #PORTCFG=8, no USB cable .................................................................................... 24 Tab. 22: #PORTCFG=8, with USB cable ................................................................................. 24 Tab. 23: #PORTCFG=9, no USB cable ............................................................................... 25 Tab. 24: #PORTCFG=9, with USB cable ............................................................................ 25 Tab. 25: #PORTCFG=10, no USB cable ............................................................................. 26 Tab. 26: #PORTCFG=10, with USB cable .......................................................................... 26 Tab. 27: Ports Arrangement with CMUX ............................................................................. 28 Tab. 28: Ports Arrangement with CMUX + TTC .................................................................. 29 Tab. 29: Ports Arrangement when CMUX is connected to USB3 channel .......................... 31 Tab. 30: USIF0 port supports NMEA sentences ................................................................. 35 Tab. 31: USB0 channel supports NMEA sentences ............................................................ 36 Tab. 32: USB3 channel supports NMEA sentences ............................................................ 37 Tab. 33: SPI port supports NMEA sentences ...................................................................... 39 Tab. 34: USB3-VC3 port supports AT commands + NMEA sentences ............................... 40 The purpose of the present document is to provide a guideline to assign the physical interfaces of the module to the services implemented by the module itself, e.g.: AT Parsers, Python, TT, etc. The HE910/UE910/UL865 modules need to be configured in suitable way to avoid hardware/software resources conflicts. Scope of this guide is to cover the major ports/services arrangements offered to the user by the modules belonging to the HE910/UE910/UL865 Families. With ports/services arrangements is intended the allocation of an available serial port to an available service (e.g. AT Parser, Python, TT, etc.). This document is intended for User Application designers who want to exploit at best the communication resources offered by the HE910/UE910/UL865 modules without run up against resources contention among services. For general contact, technical support, to report documentation errors and to order manuals, contact Telit Technical Support Center (TTSC) at: TS-EMEA@telit.com TS-NORTHAMERICA@telit.com TS-LATINAMERICA@telit.com TS-APAC@telit.com Alternatively, use: http://www.telit.com/en/products/technical-support-center/contact.php For detailed information about where you can buy the Telit modules or for recommendations on accessories and components visit: http://www.telit.com To register for product news and announcements or for product questions contact Telit Technical Support Center (TTSC). Our aim is to make this guide as helpful as possible. Keep us informed of your comments and suggestions for improvements. Telit appreciates feedback from the users of our information. [1] [2] [3] [4] [5] [6] Telit’s CMUX Implementation User Guide, 1vv0300994 HE910/UE910 AT Commands Reference Guide, 80378ST10091A Telit Easy Script Python, 80000ST10020a HE910 Hardware User Guide, 1vv0300925 UE910 Hardware User Guide, 1vv0301012 UL865 Hardware User Guide, 1vv0301050 Revision Date Product/SW Version 0 1 2011-11-23 2011-11-28 / / 2 2012-01-27 / 3 2012-02-28 / 4 2012-07-03 / 5 2012-09-17 / / 6 2013-07-29 Changes First issue Mobile Analyzer changed in Trace Tool (Generic TT) Updated the Applicability Table AT+CMUX=1 changed in AT+CMUX=0 Updated parameter range of AT#PORTCFG Command Modified the SPI Physical port connection on all figures Introduced TTC and 3G (see TT) Added PORTCFG=7 and updated PORTCFG tables. Modified document title “HE Family Ports Arrangements” in “HE910 Family Ports Arrangements”. General review of the entire document. Added PORTCFG=8. Updated Applicability Table. The document title has been changed from “HE910 Family Ports Arrangements” to “HE910/UE910 Families Ports Arrangements” Updated Applicability Table, fig. 17, fig. 20, fig. 27, fig. 28, and fig. 31. Rearranged GPS chapters and modified some names of chapters. Added the note about +CFUN command in chapter 2. New features supported from SW version 12.00.004: PORTCFG=9, PORTCFG=10, and HSIC physical port. The factory setting has been changed from #PORTCFG=0 to #PORTCFG=1. Added products: UE910-EUR/EUD/12.00.xx4 UE910-NAR/NAD/12.00.xx4 7 8 2014-02-24 2014-02-28 / / Added fig. 29, fig. 30 and related descriptions. / The document title has been changed from “HE910/UE910 Family Ports Arrangements” to “HE910/UE910/UL865 Families Ports Arrangements” Added products: UL865-EUR/EUD/12.00.xx4 UL865-NAR/NAD/12.00.xx4 UL865-N3G/12.00.xx4 / 3G DTE GPS HSIC NMEA SPI TTC USIFx VSD Third Generation Trace Tool (for internal use only) Data Terminal Equipment Global Positioning System USB High Speed Inter-Chip Interface National Marine Electronics Association Serial Peripheral Interface Telit Trace Client Tool Universal Serial Interface Virtual Service Device Before describing the several ports arrangements supported by the HE910/UE910/UL865 Families, refer to [4], [5] and [6], it is useful introduce the Virtual Serial Device. Virtual Serial Device, hereafter called VSD, is a piece of software designed to run on HE910/UE910/UL865 Families. It basically manages virtual connections between the physical serial ports, accessible to the user, and the services provided by the module. To accomplish this activity, VSD supports several Access Points used as anchorage points for the logical connections. The following table shows the items involved in the connections management: Physical Serial Ports, Logical Access Points, AT Parsers, Telit Trace (TT) Utilities, Services, and Protocols. Physical Serial Ports USIF02 USIF1 USB (USB0÷USB6)4 SPI HSIC Logical Access Points AT0 AT1 AT2 TT VHWDTE0 VHWDTE1 PYSER ·············· ·············· Python Debugging GPS Services AT Parsers and TT Utilities Instance #1 Instance #2 Instance #3 TTC, 3G Python GPS Protocols CMUX (VC1÷VC4)3 Tab. 1: Items managed by VSD It is advisable to remind the concept of instances and their relationships with the AT commands Parsers. HE910/UE910/UL865 modules provide three AT Commands Parser Instances which are independent. Each AT Commands Parser is managed by the same control software block and is connected to an ATx Access Point as sketched in the figure below. AT2 Instance # 3 Unique AT Parser Control Software Block AT1 Instance # 2 AT0 Instance # 1 AT0 Access point AT1 Access point AT2 Access point Virtual Service Device fig. 1: AT Parser Instance concept 2 In documents [4] and [5] USIF0 and USIF1 are called respectively Modem Serial Port1 and Modem Serial Port 2. Four CMUX channels: VC1÷VC4. 4 Seven USB channels: USB0USB6. 3 NOTICE: the +CFUN mode can be saved into the selected profile only if the +CFUN AT command is entered into the module via the AT0 parser (Instance #1), refer to [2]. The several examples of the module ports arrangements reported in this document refer to the use of a generic device (or Application Processor) connected to the module, and based on Windows PC. The physical connection between the module and the generic device can be accomplished via different interfaces provided by the module itself; a basic sketch is shown in fig. 2. The generic device can be developed by the user in accordance with its needs. In general, the device can be a micro-controller developed by the user and equipped with an operating system accomplishing the requirements of the user application. Only for practical reasons it is use the DTE acronym to identify the device throughout the document. Module Interfaces Application Processor fig. 2: Module and Application Processor NOTICE: SPI and HSIC interfaces, on the Application Processor side, must be provided by the user; the DTE based on Windows PC and used in the next examples does not provide them. In addition, in the following figures, SPI and HSIC interfaces are shown by the same “box” when they are not involved in connections regarding the considered ports arrangement, see fig. 3. Physically, they are two distinct entities and this is shown when the considered configuration involves their connections, see fig. 7, fig. 14. Let’s assume that the factory setting5 of the module has not been changed and the USB cable is not plugged in. Now, power on the module: the factory arrangement of the internal connections among physical ports and “Access points” is depicted on fig. 3. AT0 Access point AT2 Access point AT1 Access point TT Access point GPS Access point Virtual Serial Device USIF0 Physical port DTE USIF1 Physical port COM1 USB Physical port COM2 HyperTerminal Session connected to AT0 parser (instance # 1) TTC Application fig. 3: Factory Ports Arrangement Tab. 2 summarizes the factory ports arrangement. AT#PORTCFG=1 AT0 AT1 AT2 TT GPS/NMEA No USB cable USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI X TTC Tab. 2: Factory Ports Arrangement 5 AT#PORTCFG=1, refer to Chapter 2.4 and document [2]. SPI, HSIC Physical ports NOTICE: figures reported on the following pages and illustrating different ports arrangements show the use of two types of trace applications in accordance with the selected configuration via AT#PORTCFG command, refer to chapter 2.4: TTC (Telit Trace Client tool); 3G tool (for internal use only). Assume that the module is powered on and its configuration6 is sketched by fig. 3. Now, connect the USB cable to the module. The module recognizes the “plug in” event and assumes the factory arrangement depicted on fig. 6. Tab. 3 summarizes the new factory configuration. USB0÷USB6 are the seven channels provided by the USB port. AT0 USB0 USB1 USB2 USB3 USB4 USB5 USB6 USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI AT#PORTCFG=1 AT1 AT2 TT X GPS/NMEA X X TTC Tab. 3: Factory Ports Arrangement when USB cable is connected The suitable USB drivers running on Windows PC are provided by Telit. The mapping rule between USBx channels and virtual COMx ports is shown on chapter 2.4 6 AT#PORTCFG=1, refer to Chapter 2.4. The AT#PORTCFG command manages several internal ports arrangements by means of its parameter value, refer to [2]. The tables and figures reported on the next pages show the various ports configurations that can be obtained changing the parameter value of the command and connecting the USB cable to the module. Use the following sequence to make active the entered AT#PORTCFG command: Assume to start from the configuration shown on fig. 3, it is the factory setting: #PORTCFG is 1; Enter, for example, the AT#PORTCFG=0 command through USIF0 port, AT0 parser elaborates the just entered command, but no actions are taken. Power down the module; Power on the module. The AT#PORTCFG=0 command is executed and the ports arrangement of Tab. 5 is implemented. Before dealing with the several AT#PORTCFG configurations it is advisable to see how the USBx channels are mapped into virtual COMx ports on the DTE side. The dialog box below shows an example of mapping. In general, it depends on the Windows PC configuration. From the dialog box shown on the lefts side is derived the next mapping table: USB CHANNELS USB0 USB1 USB2 USB3 USB4 USB5 USB6 VIRTUAL PORTS VCOM5 VCOM6 VCOM7 VCOM8 VCOM9 VCOM10 VCOM11 Tab. 4: Mapping Table Now, you are able to assign a VCOMx port to each USBx channels indicated on the following #PORTCFG tables. fig. 4: USBx channels mapped into virtual COMx ports AT0 AT#PORTCFG=0 AT1 AT2 TT GPS/NMEA No USB cable USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI X Ref. chapter 4.1.1 AT0 USB0 USB1 USB2 USB3 USB4 USB5 USB6 USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI Tab. 5: #PORTCFG=0, no USB cable GPS/NMEA Ref. chapter 4.1.2 X X Tab. 6: #PORTCFG=0, with USB cable AT1 Access point AT0 Access point AT#PORTCFG=0 AT1 AT2 TT X TTC USB0 Virtual Serial Device TT Access point AT2 Access point USB2 USB1 GPS Access point USB3 USB4÷USB6 USB Channels USIF0 Physical port USIF1 Physical port COM1 COM2 USB Physical port USB USB0 AT1 HyperTerminal Session connected to AT0 parser (instance # 1) USB1 TTC DTE USB2 USB3 AT2 USB4÷USB6 fig. 5: #PORTCFG=0 + USB cable connected SPI, HSIC Physical ports AT0 AT#PORTCFG=1 AT1 AT2 TT GPS/NMEA USB0 USB1 USB2 USB3 USB4 USB5 USB6 USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI No USB cable USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI X TTC Tab. 7: #PORTCFG=1, no USB cable AT0 Access point AT#PORTCFG=1 AT1 AT2 TT X X X TTC TT Access point AT2 Access point USB0 Virtual Serial Device USB2 USB1 GPS Access point USB3 USB4÷USB6 USB Channels USIF1 Physical port COM1 COM2 HyperTerminal Session connected to AT0 parser (instance # 1) TTC Application USB Physical port USB USB0 AT1 USB1 USB2 DTE GPS/NMEA Tab. 8: #PORTCFG=1, with USB cable AT1 Access point USIF0 Physical port AT0 USB3 AT2 USB4÷USB6 fig. 6: #PORTCFG=1 + USB cable connected SPI, HSIC Physical port AT0 AT#PORTCFG=2 AT1 AT2 TT GPS/NMEA AT0 USB0 USB1 USB2 USB3 USB4 USB5 USB6 USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI No USB cable USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI X X Tab. 9: #PORTCFG=2, no USB cable AT0 Access point AT#PORTCFG=2 AT1 AT2 TT X TTC GPS/NMEA X X Tab. 10: #PORTCFG=2, with USB cable AT1 Access point Virtual Serial Device TT Access point AT2 Access point USB0 USB1 GPS Access point USB2÷USB6 USB Channels USIF0 Physical port USIF1 Physical port COM1 USB Physical port SPI Physical port USB HyperTerminal Session connected to AT0 parser (instance # 1) USB0 AT1 DTE USB1 TTC USB2÷USB6 fig. 7: #PORTCFG=2 + USB cable connected User Device equipped with SPI interface. AT0 AT#PORTCFG=3 AT1 AT2 TT GPS/NMEA AT0 USB0 USB1 USB2 USB3 USB4 USB5 USB6 USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI No USB cable USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI X X Tab. 11: #PORTCFG=3, no USB cable AT0 Access point AT1 Access point AT#PORTCFG=3 AT1 AT2 TT X TTC X X Tab. 12: #PORTCFG=3, with USB cable TT Access point AT2 Access point USB0 Virtual Serial Device USB1 GPS Access point USB2÷USB6 USB Channels USIF1 Physical port USIF0 Physical port COM1 COM2 HyperTerminal Session connected to AT0 parser (instance # 1) GPS/NMEA HyperTerminal Session connected to AT2 parser (instance # 3) USB Physical port SPI, HSIC Physical ports USB USB0 AT1 USB1 TTC USB2÷USB6 fig. 8: #PORTCFG=3 + USB cable connected DTE AT0 AT#PORTCFG=4 AT1 AT2 TT GPS/NMEA No USB cable USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI X X Ref. chapter 4.1.4 Tab. 13: #PORTCFG=4, no USB cable AT0 Access point USB0 USB1 USB2 USB3 USB4 USB5 USB6 USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI AT0 X TTC X X TT Access point AT2 Access point USB0 USB2 USB1 USIF1 Physical port GPS Access point USB3 USB Physical port SPI, HSIC Physical port USB HyperTerminal Session connected to AT1 parser (instance # 2) USB0 AT0 USB1 TTC USB2 USB3 AT2 DTE USB4÷USB6 USB Channels Virtual Serial Device COM1 GPS/NMEA Tab. 14: #PORTCFG=4, with USB cable AT1 Access point USIF0 Physical port AT#PORTCFG=4 AT1 AT2 TT USB4÷USB6 fig. 9: #PORTCFG=4 + USB cable connected AT0 AT#PORTCFG=5 AT1 AT2 TT GPS/NMEA AT0 USB0 USB1 USB2 USB3 USB4 USB5 USB6 USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI No USB cable USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI X Tab. 15: #PORTCFG=5, no USB cable AT0 Access point AT1 Access point X X TT Access point AT2 Access point USB2 USB1 COM1 GPS Access point USB3 USB4÷USB6 USB Channels Virtual Serial Device USIF1 Physical port GPS/NMEA Tab. 16: #PORTCFG=5, with USB cable USB0 USIF0 Physical port AT#PORTCFG=5 AT1 AT2 TT X TTC USB Physical port SPI Physical port USB DTE USB0 AT1 USB1 TTC USB2 USB3 AT2 USB4÷USB6 fig. 10: #PORTCFG=5 + USB cable connected User Device equipped with SPI interface. AT0 AT#PORTCFG=6 AT1 AT2 TT GPS/NMEA AT0 USB0 USB1 USB2 USB3 USB4 USB5 USB6 USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI No USB cable USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI X X Tab. 17: #PORTCFG=6, no USB cable AT0 Access point AT1 Access point Virtual Serial Device AT#PORTCFG=6 AT1 AT2 TT X TTC GPS/NMEA X X Tab. 18: #PORTCFG=6, with USB cable TT Access point AT2 Access point USB0 USB2 USB1 GPS Access point USB3 USB4÷USB6 USB Channels USIF0 Physical port USIF1 Physical port COM1 USB Physical port SPI Physical port USB HyperTerminal Session connected to AT2 parser (instance # 3) DTE USB0 AT1 USB1 TTC USB2÷USB6 fig. 11: #PORTCFG=6 + USB cable connected User Device equipped with SPI interface. AT0 AT#PORTCFG=7 AT1 AT2 TT GPS/NMEA USB0 USB1 USB2 USB3 USB4 USB5 USB6 USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI No USB cable USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI AT0 X Tab. 19: #PORTCFG=7, no USB cable AT0 Access point AT#PORTCFG=7 AT1 AT2 TT X TTC 3G X X Tab. 20: #PORTCFG=7, with USB cable AT1 Access point Virtual Serial Device TT Access point TTC/3G AT2 Access point USB0 USB2 USB1 USB3 GPS Access point USB4÷USB6 USB Channels USIF0 Physical port USIF1 Physical port COM1 COM2 HyperTerminal Session connected to AT0 parser (instance # 1) GPS/NMEA USB Physical port SPI, HSIC Physical ports USB USB0 AT1 USB1 TTC DTE USB2 3G USB3 AT2 USB4÷USB6 fig. 12: #PORTCFG=7 + USB cable connected AT0 AT#PORTCFG=8 AT1 AT2 TT GPS/NMEA USB0 USB1 USB2 USB3 USB4 USB5 USB6 USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI NO USB cable USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI Tab. 21: #PORTCFG=8, no USB cable AT0 Access point AT0 X AT#PORTCFG=8 AT1 AT2 TT GPS/NMEA TTC X X Ref. chapter 4.1.3 Tab. 22: #PORTCFG=8, with USB cable AT1 Access point TT Access point TTC AT2 Access point GPS Access point USB5 ÷ 6 Virtual Serial Device USB0 USB2 USB1 USB3 USB4 USB Channels USIF0 Physical port USIF1 Physical port COM1 COM2 USB Physical port SPI, HSIC Physical ports USB USB0 AT0 USB1 TTC DTE USB3 AT1 USB4 AT2 fig. 13: #PORTCFG=8 USB cable connected only AT#PORTCFG=9 AT0 AT1 AT2 TT GPS/NMEA AT0 USB0 USB1 USB2 USB3 USB4 USB5 USB6 USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI No USB cable USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI X X Tab. 23: #PORTCFG=9, no USB cable AT0 Access point AT1 Access point USB0 Virtual Serial Device USIF0 Physical port COM1 HyperTerminal Session connected to AT0 parser (instance # 1) COM2 X X TT Access point TTC/3G AT2 Access point USB1 USB2 USB Physical port GPS Access point USBHSI1÷3 USB3÷USB6 USBHSI0 HSIC Channels SPI Physical port HSIC Physical port USB USB0 AT1 DTE GPS/NMEA Tab. 24: #PORTCFG=9, with USB cable USB Channels USIF1 Physical port AT#PORTCFG=9 AT1 AT2 TT X TTC 3G User Device equipped with HSIC interface. USB1 TTC USB2 3G fig. 14: #PORTCFG=9 + USB cable connected AT#PORTCFG=10 AT0 AT1 AT2 TT GPS/NMEA AT0 USB0 USB1 USB2 USB3 USB4 USB5 USB6 USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI No USB cable USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI X X X Tab. 25: #PORTCFG=10, no USB cable AT0 Access point AT1 Access point AT#PORTCFG=10 AT1 AT2 TT X TTC 3G X X Tab. 26: #PORTCFG=10, with USB cable TT Access point TTC/3G AT2 Access point GPS Access point USBHSI1 USBHSI0 USB0 Virtual Serial Device USIF0 Physical port COM1 HyperTerminal Session connected to AT0 parser (instance # 1) USB1 USB2 COM2 USB Physical port USBHSI2÷3 USB3÷USB6 HSIC Channels USB Channels USIF1 Physical port SPI Physical port HSIC Physical port USB USB0 AT2 DTE GPS/NMEA User Device equipped with HSIC interface. USB1 TTC USB2 3G fig. 15: #PORTCFG=10 + USB cable connected This chapter shows an example of ports arrangement supporting CMUX protocol. Assume that the module is configured as indicated on fig. 3: #PORTCFG=0 no USB cable plugged in. In addition, suppose that the used DTE is a Windows PC and its device configuration is shown by fig. 16. Now, run on the DTE the TELIT Serial Port MUX application configured as shown on fig. 17, and connect it to COM1 physical port, refer to fig. 18. When the user starts an application (e.g. Hyper Terminal) connected to one of the four Virtual Ports, TELIT Serial Port MUX application sends automatically the AT+CMUX=0 command to the module and the CMUX protocol is activated. fig. 16: Physical COMx Ports fig. 17: Virtual Serial Ports of MUX TELIT Serial Port MUX application must be configured so that its virtual serial ports do not create conflict with the physical or virtual serial ports already present on the Windows PC (DTE). An example is shown by fig. 17. Tab. 27 summarizes the new configuration. Module DTE connection USB not used HSIC not used USIF0 COM1 VCOMx VCx AT0 VCOM20VC1 VCOM21VC2 VCOM22VC3 VCOM23VC4 X AT1 AT2 TT GPS/NMEA X X USIF1 not used SPI not used Tab. 27: Ports Arrangement with CMUX AT0 Access point AT1 Access point TT Access point AT2 Access point VC2 GPS Access point VC3 VC1 VC4 spare Virtual Serial Device CMUX Standard Protocol USIF0 Physical port USB Physical port USIF1 Physical port USB COM2 COM1 SPI, HSIC Physical port TELIT Serial Port MUX VCOM20 VCOM21 VCOM22 HyperTerminal Session connected through VC1 to AT0 Access Point HyperTerminal Session connected through VC2 to AT1 Access Point HyperTerminal Session connected through VC3 to AT2 Access Point fig. 18: Ports Arrangement with CMUX VCOM23 VC4 spare DTE If TTC service is needed start from the configuration: #PORTCFG=1, no USB cable, see Tab. 7. Follow the steps stated above, refer to fig. 19. Tab. 28 summarizes the new configuration. Module DTE connection USB not used HSIC not used USIF0 COM1 VCOMx VCx AT0 VCOM20VC1 VCOM21VC2 VCOM22VC3 VCOM23VC4 X USIF1 COM2 SPI not used AT1 AT2 TT GPS/NMEA X X TTC Tab. 28: Ports Arrangement with CMUX + TTC AT0 Access point AT2 Access point AT1 Access point VC2 TT Access point GPS Access point VC3 VC1 VC4 spare CMUX Standard Protocol Virtual Serial Device USIF0 Physical port COM1 USIF1 Physical port COM2 USB Physical port SPI, HSIC Physical ports USB TELIT Serial Port MUX VCOM20 HyperTerminal Session connected through VC1 to AT0 Access Point VCOM21 HyperTerminal Session connected through VC2 to AT1 Access Point VCOM22 HyperTerminal Session connected through VC3 to AT2 Access Point VCOM23 VC4 spare fig. 19: Ports Arrangement with CMUX + TTC TTC Application DTE NOTICE: if you need to develop a Multiplexing Protocol running on a desired environment, e.g. a user micro-controller, refer to [1] to get detailed information about the protocol. This chapter shows an example of ports arrangement supporting USB channels, and CMUX protocol. Assume that the module is configured as indicated on fig. 5: #PORTCFG=0 + USB cable plugged in. In addition, suppose that the used DTE is a Windows PC and its device configuration is shown by fig. 4. Now, run on the DTE the TELIT Serial Port MUX application configured as shown on fig. 20, and connect it to USB3 channel mapped into VCOM8 virtual port as shown on Tab. 4, refer to fig. 21. When the user starts an application (e.g. Hyper Terminal) connected to one of the four Virtual Ports, TELIT Serial Port MUX application sends automatically the AT+CMUX=0 command to the module and the CMUX protocol is activated. fig. 20: Virtual Serial ports of TELIT Serial Port MUX TELIT Serial Port MUX application must be configured so that its virtual serial ports do not create conflict with the physical or virtual serial ports already present on the Windows PC (DTE). An example is shown by fig. 20. It is worth noting that the AT0 (instance # 1) is disconnected from USIF0 and connected to USB3/VCOM8/VCOM20VC1, the TTC stays on USB1. The table below summarizes the new ports arrangement. Module DTE connection USB USB Channels USB0 USB1 USB2 USBx VCOM USB3 VCOM8 VCOMx VCx AT0 AT1 AT2 TT GPS/NMEA TTC VCOM20 VC1 VCOM21 VC2 VCOM22 VC3 VCOM23 VC4 X X X USB4 USB5 USB6 HSIC not used USIF0 not used USIF1 not used SPI not used Tab. 29: Ports Arrangement when CMUX is connected to USB3 channel NOTICE: if you need to develop a Multiplexing Protocol running on a desired environment, e.g. a user micro-controller, refer to [1] to get detailed information about the protocol. AT1 Access point AT0 Access point TT Access point AT2 Access point GPS Access point VC3 VC2 VC4 spare VC1 CMUX Standard Protocol Virtual Serial Device USB0 USB1 USB2 USB3 USB4÷USB6 USB Channels USIF0 Physical port USIF1 Physical port COM1 COM2 USB Physical port SPI, HSIC Physical ports USB DTE USB3VCOM8 USB1VCOM6 TELIT Serial Port MUX VCOM20 VCOM21 VCOM22 HyperTerminal Session connected through VC1 to AT0 Access Point HyperTerminal Session connected through VC2 to AT1 Access Point HyperTerminal Session connected through VC3 to AT2 Access Point VCOM23 VC4 spare fig. 21: Ports Arrangement when CMUX is connected to USB3 channel TTC Having at disposal several ports configurations, the following question arises when the user sets different configurations in sequence: is the last configuration affected by the previous ones? There are two methods to change module ports arrangement without turn off/on the module: Plug in/out the USB cable; Enter the AT+CMUX=07 command. NOTICE: to execute the entered AT#PORTCFG command and get the desired ports arrangement it is needed to turn off/on the module. The modules provide the following policy: regardless of the actions or commands sequence that user has used to set the module into the desired ports configuration the module must always enter the last requested configuration. Follow two examples. Example 1 Module: let’s suppose that its ports configuration is summarize in Tab. 5. User action: the user runs on the Windows PC the TELIT Serial Port MUX application so configured: Virtual Ports COM20÷COM23 logically connected to COM1. PC: it provides the required Virtual Ports. When the user starts an application (e.g. Hyper Terminal) connected to one of the three Virtual Ports (the fourth one is spare), TELIT Serial Port MUX application sends the AT+CMUX=0 command to the module. Module: in accordance with the received command, the involved AT Parser starts the CMUX protocol. The module enters the configuration shown on fig. 18. User action: now, the user connects USB cable. Module: it enters the configuration shown on fig. 5. PC: it provides seven new virtual “COM” logically connected to the seven USB channels. The CMUX protocol is disabled and the TELIT Serial Port MUX application running on Windows PC is no more connected to the module, it should be closed. COM1 is ready for new applications (e.g. Hyper Terminal). User action: now, the user disconnects USB cable. Module: it enters again the configuration shown on Tab. 5 7 TELIT Serial Port MUX application automatically sends the AT+CMUX=0 command to the module , see chapters 0, 2.6. Example 2 Module: let’s suppose that its configuration is summarized in Tab. 5. User action: the user connects USB cable. Module: in accordance with the user action, the module enters the configuration shown on fig. 5. PC: it provides seven virtual “COM” required by USB drivers to logically connect the seven USBx channels. User action: the user runs on the Windows PC the TELIT Serial Port MUX application so configured: Virtual Ports VCOM20 ÷ VCOM23 logically connected to USB3VCOM8. PC: it provides the required Virtual Ports. When the user starts an application (e.g. Hyper Terminal) on a Virtual Ports, TELIT Serial Port MUX sends the AT+CMUX=0 command to the module. Module: in accordance with the received command, the involved AT Parser starts the CMUX protocol. The module enters the configuration shown on fig. 21. User action: now, the user disconnects USB cable. Module: it enters the configuration shown on Tab. 5. PC: discards the seven virtual “COM” logically connected to the seven USBX channels. The CMUX protocol is disabled, TELIT Serial Port MUX application running on Windows PC is no more connected to the module, and it should be closed. From the above mentioned examples it may be inferred that the last required port configuration overrides the previous one. The modules equipped with GPS receiver can send NMEA sentences on different physical ports in accordance with the current ports configuration. In general, NMEA sentences run on the physical port used by the operator to enter the AT$GPSP and AT$GPSNMUN commands: it means that AT commands and NMEA sentences share the same physical port at the same time. It is assumed that the module is configured as shown on Tab. 5: #PORTCFG=0, no USB cable. Now, enable GPS/NMEA sentences via AT$GPSP=1 and AT$GPSNMUN=1,… commands entered through USIF0 port, see [2]. The entered AT commands are elaborated by AT0 parser and after that, the module sets up the ports configuration summarized on Tab. 30. See also fig. 22. AT#PORTCFG=0 AT0 AT1 AT2 TT GPS/NMEA No USB cable USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI X X Tab. 30: USIF0 port supports NMEA sentences NMEA sentences AT0 Access point AT1 Access point TT Access point AT2 Access point GPS Access point Virtual Serial Device USIF0 Physical port USIF1 Physical port USB Physical port SPI, HSIC Physical ports COM1 HyperTerminal Session connected to AT0 parser (instance # 1). AT commands + NMEA sentences DTE fig. 22: USIF0 port supports AT commands + NMEA sentences It is assumed that the module is configured as shown on Tab. 6: #PORTCFG=0 with USB cable. Now, enable GPS/NMEA sentences via AT$GPSP=1 and AT$GPSNMUN=1,… commands entered through USB port, channel USB0. The AT commands are elaborated by AT1 parser and after that, the module sets up the ports configuration shown on Tab. 31. See also fig. 23. AT0 USB0 USB1 USB2 USB3 USB4 USB5 USB6 USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI AT#PORTCFG=0 AT1 AT2 TT X TTC GPS/NMEA X X X Tab. 31: USB0 channel supports NMEA sentences NMEA sentences AT0 Access point AT1 Access point TT Access point AT2 Access point USB0 USB2 USB1 USB3 USB4÷USB6 USB Channels Virtual Serial Device USIF0 Physical port GPS Access point USIF1 Physical port USB Physical port COM1 SPI, HSIC Physical ports USB HyperTerminal Session connected to AT0 parser (instance # 1) USB0 AT1 + NMEA sentences USB1 TTC DTE USB2 USB3 AT2 USB4÷USB6 fig. 23: USB0 channel supports AT commands + NMEA sentences It is assumed that the module is configured as shown on Tab. 22: #PORTCFG=8 with USB cable. Now, enable GPS/NMEA sentences via AT$GPSP=1 and AT$GPSNMUN=1,… commands entered through USB port, channel USB3. The AT commands are elaborated by AT1 parser and after that, the module sets up the ports configuration shown on Tab. 32. In this configuration only NMEA sentences are running on USB5 channel. See also fig. 24. USB0 USB1 USB2 USB3 USB4 USB5 USB6 USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI AT0 X AT#PORTCFG=8 AT1 AT2 TT GPS/NMEA TTC X X X Tab. 32: USB3 channel supports NMEA sentences AT0 Access point AT1 Access point TT Access point TTC AT2 Access point GPS Access point NMEA sentences USB5 Virtual Serial Device USB0 USB3 USB4 USB2 USB1 USB Channels USIF0 Physical port USIF1 Physical port COM1 COM2 USB Physical port SPI, HSIC Physical ports USB USB0 AT0 USB1 TTC DTE USB3 AT1 USB4 AT2 USB5 only NMEA sentences fig. 24: USB5 channel supports only NMEA sentences USB6 It is assumed that the module is configured as shown on Tab. 13, #PORTCFG=4 without USB cable. Now, enable GPS/NMEA sentences via AT$GPSP=1 and AT$GPSNMUN=1,… commands entered through SPI port. The commands are elaborated by AT2 parser, and after that the module sets up the ports configuration shown on Tab. 33. See also the fig. 25. AT0 AT#PORTCFG=4 AT1 AT2 TT GPS/NMEA No USB cable USBHSI0 USBHSI1 USBHSI2 USBHSI3 USIF0 USIF1 SPI X X X Tab. 33: SPI port supports NMEA sentences NMEA sentences AT0 Access point AT1 Access point AT2 Access point TT Access point GPS Access point Virtual Serial Device USIF0 Physical port USIF1 Physical port USB Physical port SPI Physical port COM1 HyperTerminal Session connected to AT0 parser (instance # 1) User Device equipped with SPI interface. DTE fig. 25: SPI port supports AT commands + NMEA sentences This chapter shows an example of ports arrangement running NMEA sentences via USB channel using CMUX protocol. It is assume that the module is configured as shown on Tab. 29. Now, enable GPS/NMEA sentences via the AT$GPSP=1 and AT$GPSNMUN=1,… commands entered through USB3-VC3 port. The entered AT commands are elaborated by AT2 parser, and after that the module sets up the ports configuration summarized on Tab. 34. See also fig. 26. ModuleDTE connection USB USB Channels USB0 USB1 USB2 USB3 USBx VCOM VCOMx VCx AT0 AT1 AT2 TT GPS/NMEA TTC VCOM8 VCOM20 VC1 VCOM21 VC2 VCOM22 VC3 VCOM23 VC4 X X X USB4 USB5 USB6 HSIC not used USIF0 not used USIF1 not used SPI not used Tab. 34: USB3-VC3 port supports AT commands + NMEA sentences X NMEA sentences AT1 Access point AT0 Access point TT Access point AT2 Access point GPS Access point VC3 VC2 VC4 spare VC1 CMUX Standard Protocol Virtual Serial Device USB0 USB1 USB2 USB3 USB4÷USB6 USB Channels USIF0 Physical port USIF1 Physical port COM1 COM2 USB Physical port SPI, HSIC Physical ports USB DTE USB3VCOM8 USB1VCOM6 TELIT Serial Port MUX VCOM20 VCOM21 VCOM22 HyperTerminal Session connected through VC1 to AT0 Access Point HyperTerminal Session connected through VC2 to AT1 Access Point HyperTerminal Session connected through VC3 to AT2 + GPS/NMEA VCOM23 VC4 spare fig. 26: USB3-VC3 port supports AT commands + NMEA sentences TTC The HE910/UE910/UL865 modules provide the Python programming language to offer to the user a tool to develop control scripts in accordance with its communication and hardware needs, see [3]. As shown on fig. 27 the VSD provides two access points called VHWDTE0 and VHWDTE1. MDM and MDM2 Python modules are logically connected respectively to VHWDTE0 and VHWDTE1 access points. Let’s assume that the module is using the ports configuration summarized on Tab. 7 (factoring setting), no USB cable is plugged in. When the Python script runs the Python instruction import MDM 8 , the VSD disconnects the USIF0/AT0 logical connection and establishes the logical connection VHWDTE0/AT0; consequently the Python script can access AT0 parser. In the same way, import MDM2 instruction requires to the VSD to establish the logical connection VHWDTE1/AT1. The fig. 27 shows that USIF0 is disconnected and can not be used by an external device. Python script can run another Python software module to use the USIF0 port using the instruction import SER. The fig. 28 shows the new connection: through the physical port USIF0 it is possible to be connected with the Python script. The three Python software modules (MDM, MDM2 and SER) use three independent resources: USIF0 physical port, AT0, and AT1 Access Points. No resources contention can arise among them. As a rule, we can say that the MDM, MDM2 and SER instructions steal the above mentioned resources regardless their current owner. As shown in the next pages there are other Python modules to create logical connection between a physical port and an Access point. To have detailed information on the software versions supporting different Python modules refer to document [3]. Here are some figures showing different logical connection configurations. 8 It is assumed that the reader is familiar with Python language. User Script AT2 Instance # 3 Python MDM AT1 Instance # 2 AT0 Instance # 1 AT0 Access point AT1 Access point AT2 Access point TT Access point Python Debugging Access point Virtual Serial Device VHWDTE0 USIF0 Physical port USIF1 Physical port USB Physical port VHWDTE1 SPI, HSIC Physical ports DTE COM1 HyperTerminal Session connected to AT0 parser (instance # 1) COM2 TTC Application fig. 27: Python & MDM, MDM2 modules MDM2 User Script AT2 Instance # 3 Python SER AT1 Instance # 2 AT0 Instance # 1 AT0 Access point AT1 Access point AT2 Access point TT Access point Python Debugging Access point PYSER Virtual Serial Device VHWDTE0 USIF0 Physical port USIF1 Physical port VHWDTE1 USB Physical port DTE COM1 HyperTerminal Session connected to Python script. COM2 TTC Application fig. 28: Python & MDM, MDM2, SER modules SPI Physical port MDM MDM2 In accordance with the installed software version, Python script can run the Python software module to use the USIF1 port using the instruction import SER2 and the access point PYSER2. The figure below shows the new connection: the physical port USIF1 is connected to Python script via PYSER2/SER2. User Script AT2 Instance # 3 Python SER2 AT1 Instance # 2 SER MDM MDM2 AT0 Instance # 1 AT0 Access point AT1 Access point AT2 Access point TT Access point PYSER2 Access point PYSER Access point Virtual Serial Device VHWDTE0 USIF0 Physical port COM1 HyperTerminal Session connected to Python script. USIF1 Physical port USB Physical port VHWDTE1 SPI Physical port COM2 Connected to Python script. DTE fig. 29: Python & MDM, MDM2, SER, SER2 modules The Python software modules MDM, MDM2, SER, and SER2 use four independent resources: USIF0, USIF1 physical ports, and AT0, AT1 Access Points. No resources contention can arise among them. As a rule, we can say that the MDM, MDM2, SER, and SER2 instructions steal the resources regardless their current owner. In accordance with the installed software version, Python script can run the Python software module to use the USB0 channel using the instruction import USB0 and the access point PYUSB0. The figure below shows the new connection: the USB0 channel is connected to Python script via PYUSB0/USB0. User Script AT2 Instance # 3 Python USB0 AT1 Instance # 2 SER MDM MDM2 Trace Utility AT0 Instance # 1 AT0 Access point AT1 Access point AT2 Access point TT Access point Virtual Serial Device USIF1 Physical port USB Physical port COM1 COM2 USB HyperTerminal Session connected to AT0 parser (instance # 1) RTD Application PYSER USB1 USB0 USBx Channels VHWDTE0 USIF0 Physical port PYUSB0 VHWDTE1 USB0 connected to Python script DTE fig. 30: Python & MDM, MDM2, SER, USB0 modules The Python software modules MDM, MDM2, SER, and USB0 use four independent resources: USIF0 physical port, USB0 channel, and AT0, AT1 Access Points. No resources contention can arise among them. As a rule, we can say that the MDM, MDM2, SER, and USB0 instructions steal the resources regardless their current owner. It is assumed that the user needs to debug a new Python script. To perform the debugging session, the user forces the module into #PORTCFG=3 configuration, refer to Tab. 11. Suppose that the Python script runs: import MDM, import MDM2, import SER and print instructions. The figure below sketches the actions results of the first tree instructions. Moreover, it shows that when #PORTCFG=3 configuration is used, at the start up of the Python script the USIF1 is disconnected from AT2 Access point and connected to Python Debugging Access point, in accordance with this switch, the print messages are available for the generic hyper terminal connected to USIF1 port. User Script print : Python script instruction. AT2 Instance # 3 AT1 Instance # 2 AT0 Instance # 1 AT0 Access point AT1 Access point AT2 Access point TT Access point Python Debugging Access point Python SER PYSER Virtual Serial Device VHWDTE0 USIF0 Physical port COM1 HyperTerminal Session connected to Python script. USIF1 Physical port USB Physical port VHWDTE1 SPI, HSIC Physical port COM2 HyperTerminal Session connected to Python Debugging Access point Session DTE fig. 31: Python & MDM, MDM2, SER and print modules MDM MDM2