beautypg.com

Atcommandlistener interface, Atevents, Implementation – Siemens Java TC65 User Manual

Page 86: 3 atcommandlistener interface

background image

TC65 JAVA User's Guide
Strictly confidential / Released

s

TC65 JAVA User's Guide_V05

Page 86 of 90

26.09.2005

12.1.3 ATCommandListener

Interface

The ATCommandListener interface implements callback functions for:
• URCs
• Changes of the serial interface signals RING, DCD and DSR

• Opening and closing of data connections

The user must create an implementation class for ATCommandListener to receive AT
events. The ATEvent method of this class must contain the processing code for the different
AT-Events (URCs). The RINGChanged, DCDChanged, DSRChanged and CONNChanged
methods should contain the processing code for possible state changes.

12.1.3.1 ATEvents

An ATEvent or a URC is a report message sent from the module to the application. An
unsolicited result code is either delivered automatically when an event occurs or as a result
of a query the module previously received. However, a URC is not issued as a direct
response to an executed AT command. Some URCs must be activated with an AT
command.

Typical URCs may be information about incoming calls, a received SM, temperature
changes, the status of the battery, etc. A summary of URCs is listed in the AT Command Set
document [3].

12.1.3.2 Implementation

class ATListenerA implements ATCommandListener {

public void ATEvent(String Event) {
if (Event.indexOf("+CALA: Reminder 1") >= 0) {
/* take desired action after receiving the reminder */
} else if (Event.indexOf("+CALA: Reminder 2") >= 0) {
/* take desired action after receiving the reminder */
} else if (Event.indexOf("+CALA: Reminder 3") >= 0) {
/* take desired action after receiving the reminder */
}

/* No action taken for these events */
public void RINGChanged(boolean SignalState) {}
public void DCDChanged(boolean SignalState) {}
public void DSRChanged(boolean SignalState) {}
}

class ATListenerB implements ATCommandListener {

public void ATEvent(String Event) {
if (Event.indexOf("+SCKS: 0") >= 0) {
System.out.println("SIM Card is not inserted.");
/* perform other actions */
} else if (Event.indexOf("+SCKS: 1") >= 0) {
System.out.println("SIM Card is inserted.");
/* perform other actions */
}
}

public void RINGChanged(boolean SignalState) {
/* take some action when the RING signal changes if you want to */
}

public void DCDChanged(boolean SignalState) {