Siemens TC65 manual ATCommandResponseListener Interface, Synchronization

Page 85

TC65 JAVA User's Guide

s

Strictly confidential / Released

 

12.1.1.4Synchronization

For performance reasons no synchronization is done in the ATCommand class. If an instance of this class has to be accessed from different threads ensure that the send() functions, the release() function, the cancelCommand() function and the breakConnection() function are synchronized in the user implementation.

12.1.2ATCommandResponseListener Interface

The ATCommandResponseListener interface defines the capabilities for receiving the response to an AT command sent to one of the module's AT parsers. When the user wants to use the non blocking version of the ATCommand.send function of an implementation class of the ATCommandResponseListener interface must be created first. The single method of this class, ATResponse(), must contain the processing code for the possible response to the AT command sent.

class MyListener implements ATCommandResponseListener {

String listen_for;

public MyListener(String awaited_response) { listen_for = awaited_response;

}

void ATResponse(String Response) {

if (Response.indexOf(listen_for) >= 0) { System.out.println("received: " + strRcv);

}

}

}

12.1.2.1Non-blocking ATCommand.send() Method

After creating an instance of the ATCommandResponseListener class, the class instance can be passed as the second parameter of the non-blocking ATCommand.send() method. After the AT command has been passed to the AT parser, the function returns immediately and the response to the AT command is passed to this callback class later when it becomes available

Somewhere in the application:

MyListener connect_list = new MyListener("CONNECT"); atc.send("ATD" + CALLED_NO + "\r", connect_list);

/* Application continues while the AT command is processed*/

/* When the module delivers its response to the AT command the callback

*method ATResponse is called. If the response is "CONNECT", we will see

*the printed message from ATResponse in MyListener. */

A running AT command sent with the non-blocking send function can be cancelled with ATCommand.cancelCommand(). Any possible responses to the cancellation are sent to the waiting callback instance.

Note: Using the send methods with incorrect AT command syntax in the strings will cause errors.

TC65 JAVA User's Guide_V05

Page 85 of 90

26.09.2005

Image 85
Contents Java Users Guide TC65 Java Users Guide Document Name TC65 Java Users GuideSeptember 26 TC65 Java Users GuideV05Table of Contents 3.3.2 MaintenanceDebug Environment Compile and Run a Program without a Java IDEJava Security Differences from the TC45 Java TutorialTables Sun Java Studio Mobility 6 Switching EmulatorsPreamble Overview New solutionRelated Documents Abbreviation Description Terms and AbbreviationsInstallation CD InstallationSystem Requirements Module Exchange Suite Components1.2 WTK SDK and Java StudioInstalling the Standard Development Toolkit Siemens Mobility Toolkit InstallationInstalling the Smtk Environment Installing Eclipse Installing Borland JBuilder X Installing Sun Java Studio MobilityInstalling Module Exchange Suite MES Upgrades Smtk UninstallSoftware Architecture Software PlatformGeneral Purpose I/O Interfaces 1 ASC0 Serial Device3 DAC/ADC 4 ASC1IP Networking JVM InterfacesMedia Other InterfacesADC Data Flow of a Java Application Running on the ModuleModule States Handling Interfaces and Data Service ResourcesState 4 Default Java Application Active State 1 Default No Java RunningState 2 No Java Running, General Purpose I/O and I2C State 3 No Java Running, General Purpose I/O and SPIState 5 Java Application Active, General Purpose I/O and I2C Module State Transitions IP Service MaintenanceCharging Power SavingAlarm Airplane ModeShutdown Automatic ShutdownSpecial AT Command Set for Java Applications Restart after Switch OffSwitching from Data Mode to Command Mode Mode Indication after MIDlet StartupJava Commands Configuration of Serial InterfaceRestrictions Flash File System MemoryJava PerformanceFrequencyB 1 / frequencyA Duration of each loop = 600 sData Rates on RS-232 API Pin I/OVoice Call in Parallel Plain Serial InterfaceUpload Scenarios with Gprs Connection75% 63% 55% 33% 65% 55% 33% 16%91% 87% 81% 73% Download85% 78% 58% 48% MIDlet Documentation MIDlet Life Cycle MIDletsMIDlet.destroyApp method Here is a sample HelloWorld program Hello World MIDletFile Transfer to Module Command Line BasedModule Exchange Suite Windows BasedOver the Air Provisioning Security IssuesOtap Introduction to Otap Over The Air Provisioning OtapOtap Overview Otap Parameters Parameters Max. Length AT Keyword SM Install/update DeleteShort Message Format Install operationDelete operation Java File Format Procedures Install/Update Delete Tips and Tricks for Otap Time Out Values and Result CodesSecurity Otap TracerHow To Build Results Compile and Run a Program without a Java IDERun on the Module with Manual Start CompileRun on the Module with Autostart Switch off Autostart Switch on AutostartData Flow of a Java Application in the Debug Environment Debug EnvironmentEmulator Java IDE Sun Java Studio Mobility 6 2004Q3 Switching emulators Projects Examples TemplatesCompile and run Borland JBuilder JBuilderX JDK settingsExamples TC65 Java Users Guide JBuilder2005 JDK settings Integration EclipseEclipse Plug-in installation Eclipse J2ME platform TC65 Java Users GuideV05 26.09.2005 Eclipse Project import ExampleEclipse Example Eclipse Create package Compile and debugBreakpoints Eclipse ConfigurationJava Security Mode Secure Data TransferJ a va C u r i t y c e r t i f i c a t e Asja VasecuritycertificateCreate CA and generate CA Root Certificate Create a Secure Data Transfer Environment Step by StepSecured mode Unsecured modeExecution Control Build binary data for AT command Atsjsec Change to Secured Mode ConceptGenerate key pair Generate customer root CertificateEncoded JAR-File Hash Concept for the Signing the Java MIDletApplication and Data Protection Structure and Description of the Java Security CommandsGeneral structure Structure of the Java Security CommandsHash SHA1 Build Java Security CommandATSJSEC? Send Java Security Command to the ModuleExport X.509 Root Certificate Create Java Security CommandsSign a MIDlet Command switch off module exchange functionalityClass ATCommand Using the AT Command APIJava Tutorial Instantiation with or without CSD SupportData Connections Sending an AT Command to the Device, the send MethodTC65 Java Users Guide Non-blocking ATCommand.send Method ATCommandResponseListener InterfaceSynchronization ATEvents ATCommandListener InterfaceImplementation Registering a Listener with an ATCommand Instance Threads Programming the MIDletExample TC65 Java Users Guide Differences from the TC45
Related manuals
Manual 123 pages 53.3 Kb

TC65 specifications

The Siemens TC65 is a compact and powerful GSM/GPRS module designed for a wide range of mobile communication applications. With its robust features, the TC65 perfectly meets the growing demands for connectivity in various industries, including automotive, telematics, and industrial automation.

A standout feature of the TC65 is its compact size, allowing it to be easily integrated into various devices without compromising on performance. The module supports GSM (Global System for Mobile Communications) and GPRS (General Packet Radio Service), providing reliable and efficient voice and data transmission.

One of the key technologies incorporated in the TC65 is its integrated TCP/IP stack, which allows for seamless internet connectivity and enables application developers to create IoT solutions with ease. This capability is essential for remote monitoring, data logging, and other applications that require continuous data exchange.

The TC65 also boasts extensive multimedia capabilities, including support for SMS, MMS, and voice calls. This makes it suitable for applications that require not only data transmission but also communication features. Additionally, it supports various codecs for voice compression, ensuring high-quality audio in voice applications.

Enhanced security features are another highlight of the TC65. It incorporates comprehensive security protocols to safeguard data transmission, making it suitable for sensitive applications in finance, healthcare, and other critical sectors. The module also includes an integrated SIM application toolbox that supports the development of secure and customizable applications.

For developers, the TC65 offers an easy-to-use software development kit (SDK), simplifying the process of application development. This means that businesses can quickly create and deploy solutions tailored to their specific needs.

The module operates across a wide voltage range and is designed to tolerate challenging environmental conditions, making it ideal for industrial use. It supports various interfaces, including UART, GPIO, and I2C, enabling it to connect with a variety of peripherals and sensors, thus expanding its usability.

In summary, the Siemens TC65 combines compact design, versatile communication capabilities, advanced security features, and developer-friendly resources, making it an excellent choice for anyone looking to implement reliable and sophisticated GSM/GPRS communication in their applications. The TC65 is a valuable asset in the evolving landscape of connected devices and IoT solutions.