name.gries
Class TC65Terminal

java.lang.Object
  extended by name.gries.TC65Terminal
Direct Known Subclasses:
Astro, GPIO, Watchdog

public class TC65Terminal
extends java.lang.Object

Handles all ATCommand related commands of the TC65 API interface.

Version:
1.0
Author:
Michael Gries

Field Summary
private static char AT_CTRL_Z
           
protected  com.siemens.icm.io.ATCommand ata
           
protected  ATListenerSPS atLis
           
private  boolean bAbwesenheit
           
private static java.util.Calendar calendar
           
(package private)  Trace Debug
           
private static java.lang.String FACTORY_GPRS_OPTS
           
private static java.lang.String FILE_CONN_FLASH_FS
           
private  java.lang.String fonicGuthaben
           
(package private) static GPIO gpio
           
private static java.lang.String gprsPass
           
private static java.lang.String gprsPoint
           
private static java.lang.String gprsUser
           
private static int MT_CAPACITY
           
private static long offsetCalendar
           
(package private)  boolean once
           
private static java.lang.String OTAP_ARGS
           
private static java.lang.String OTAP_COMMAND
           
private static java.lang.String OTAP_KEYWORD
           
private static java.lang.String OTAP_NL
           
private static java.lang.String OTAP_PWD
           
private static java.lang.String OTAP_SECRET
           
private  java.util.Hashtable propertiesTable
           
private static java.lang.String SMS_TEXT_READY
           
private  boolean synced_Time
           
private static java.lang.String URC_INCOMING_SMS
           
 
Constructor Summary
TC65Terminal()
           
 
Method Summary
 void activateATparser()
           
 void activateGPIO()
           
 void activatePort10()
           
 void activatePort5()
           
 void activatePort7()
           
 void activatePort8()
           
 void activatePort9()
           
 boolean activateURC()
          Activate Unsolicated Result Codes (URC) reporting [AT+CMER].
 boolean ATCommandOTAP()
           
 boolean ATCommandOTAP(java.lang.String sms_pwd, java.lang.String jad_URL, java.lang.String appl_Dir, java.lang.String http_user, java.lang.String http_Pwd, java.lang.String bs, java.lang.String dest, java.lang.String net_user, java.lang.String net_pwd, java.lang.String dns, java.lang.String notifyURL)
           
 void ATEvent(java.lang.String event)
           
 boolean checkPort9()
           
 void checkPrepaid()
           
 void CONNChanged(boolean SignalState)
           
 void DCDChanged(boolean SignalState)
           
 void deactivateGPIO()
           
 void delay(long milliSeconds)
          Delays the actual Thread (in milli seconds).
static java.lang.String delayTime(long milliSeconds)
          Converts milli seconds in appropriate time scale
 void deleteMTindex(int index)
          Returns the Storage size of memory MT of the SIM/TC65 module.
 void DSRChanged(boolean SignalState)
           
 java.lang.String getAccount()
           
 int getADC0()
           
protected  java.lang.String getAT(java.lang.String command, java.lang.String expect)
           
protected  java.lang.String getATresult(java.lang.String command, java.lang.String expect)
           
 int getBattery()
          Returns the Battery Voltage of the TC65 module (in mV).
 int getBaudRate()
          Returns the Baudrate of the TC65 module (on ASC0).
 java.lang.String getCaller()
          check for calls [AT+CLCC].
static java.util.Date getDate()
           
 java.lang.String getDay()
          Returns the Day of the TC65 module (format "mm\dd" fixed).
 java.lang.String getDeviceSerial()
           
static java.lang.String getFlashPath()
           
 long getFreeFlashSpace()
           
 java.lang.String getGprsConf()
           
 java.lang.String getIMEI()
          Returns the IMEI of the TC65 module (15 characters fixed).
 int getMTsize()
          Returns the Storage size of memory MT of the SIM/TC65 module.
 java.lang.String getNewSMS()
          Activate Unsolicated Result Codes (URC) reporting [AT+CMER].
private  java.lang.String getOtapPropValue(java.lang.String propName, java.lang.String msg)
           
 boolean getRingState()
           
 java.lang.String getRTC()
          Returns the RTC of the TC65 module (format "YY/MM/DD,hh:mm:ss" fixed).
 java.lang.String getSignalQuality()
          Returns the Signal Quality of the TC65 module (AT+CSQ).
 java.lang.String getTc65Status()
           
static long getTime()
           
 void gpioTest()
           
private  void handleSms(java.lang.String event, int idx)
           
 void handleSmsRTC(java.lang.String event, int idx)
           
 void init()
          Used AT Commands:
+CNMI, +CMGF, +CMEE, \Q, &V
 boolean IsSyncedTime()
           
 void listFs()
           
 boolean pinCode(int password)
           
 boolean pollPort9()
           
 java.lang.String readProp(java.lang.String prop)
           
 void resetAussenLicht()
           
 void resetFlurLicht()
           
 void resetKlingel()
           
 void resetPort10()
           
 void resetPort5()
           
 void resetPort7()
           
 void resetPort8()
           
 void resetSyncedTime()
           
 void RINGChanged(boolean SignalState)
           
protected  boolean sendAT(java.lang.String command, java.lang.String expect)
           
 void sendSms(java.lang.String num, java.lang.String msg)
           
 void setAussenLicht()
           
 boolean setDate(java.util.Date date)
           
 boolean setDate(java.lang.String date)
          Sets Real Time Clock (RTC) as given by date, time string [AT+CCLK].
 void setFlurLicht()
           
 void setKlingel()
           
 void setPort10()
           
 void setPort5()
           
 void setPort7()
           
 void setPort8()
           
 java.lang.String setProp(java.lang.String prop, java.lang.String val)
           
 boolean setQoSforGRPS(int cid, int precedence, int delay, int reliability, int peak, int mean)
           
 void setSyncedTime()
           
 void shutdownTC65T()
           
 boolean testCall()
          check for calls [AT+CLCC].
 java.lang.String testGPIO()
           
 boolean testSMS()
          Activate Unsolicated Result Codes (URC) reporting [AT+CMER].
 void toggleKlingel()
           
 boolean updateAbwesenheit()
           
 void uploadFtp(java.lang.String TerminalID)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

gpio

static GPIO gpio

bAbwesenheit

private boolean bAbwesenheit

URC_INCOMING_SMS

private static final java.lang.String URC_INCOMING_SMS
See Also:
Constant Field Values

AT_CTRL_Z

private static final char AT_CTRL_Z
See Also:
Constant Field Values

SMS_TEXT_READY

private static final java.lang.String SMS_TEXT_READY
See Also:
Constant Field Values

MT_CAPACITY

private static final int MT_CAPACITY
See Also:
Constant Field Values

FILE_CONN_FLASH_FS

private static final java.lang.String FILE_CONN_FLASH_FS
See Also:
Constant Field Values

OTAP_KEYWORD

private static final java.lang.String OTAP_KEYWORD
See Also:
Constant Field Values

OTAP_PWD

private static final java.lang.String OTAP_PWD
See Also:
Constant Field Values

OTAP_COMMAND

private static final java.lang.String OTAP_COMMAND
See Also:
Constant Field Values

OTAP_ARGS

private static final java.lang.String OTAP_ARGS
See Also:
Constant Field Values

OTAP_NL

private static final java.lang.String OTAP_NL
See Also:
Constant Field Values

OTAP_SECRET

private static final java.lang.String OTAP_SECRET
See Also:
Constant Field Values

FACTORY_GPRS_OPTS

private static final java.lang.String FACTORY_GPRS_OPTS
See Also:
Constant Field Values

synced_Time

private boolean synced_Time

calendar

private static java.util.Calendar calendar

offsetCalendar

private static long offsetCalendar

propertiesTable

private java.util.Hashtable propertiesTable

ata

protected com.siemens.icm.io.ATCommand ata

atLis

protected ATListenerSPS atLis

fonicGuthaben

private java.lang.String fonicGuthaben

gprsPoint

private static java.lang.String gprsPoint

gprsUser

private static java.lang.String gprsUser

gprsPass

private static java.lang.String gprsPass

Debug

Trace Debug

once

boolean once
Constructor Detail

TC65Terminal

public TC65Terminal()
Method Detail

activateATparser

public void activateATparser()

uploadFtp

public void uploadFtp(java.lang.String TerminalID)

getAccount

public java.lang.String getAccount()

shutdownTC65T

public void shutdownTC65T()

deactivateGPIO

public void deactivateGPIO()

activateGPIO

public void activateGPIO()

activatePort5

public void activatePort5()

resetPort5

public void resetPort5()

setPort5

public void setPort5()

activatePort9

public void activatePort9()

pollPort9

public boolean pollPort9()

activatePort7

public void activatePort7()

resetPort7

public void resetPort7()

setPort7

public void setPort7()

activatePort8

public void activatePort8()

resetPort8

public void resetPort8()

setPort8

public void setPort8()

activatePort10

public void activatePort10()

resetPort10

public void resetPort10()

setPort10

public void setPort10()

updateAbwesenheit

public boolean updateAbwesenheit()

gpioTest

public void gpioTest()

setFlurLicht

public void setFlurLicht()

resetFlurLicht

public void resetFlurLicht()

setKlingel

public void setKlingel()

resetKlingel

public void resetKlingel()

toggleKlingel

public void toggleKlingel()

setAussenLicht

public void setAussenLicht()

resetAussenLicht

public void resetAussenLicht()

checkPrepaid

public void checkPrepaid()

getADC0

public int getADC0()

setDate

public boolean setDate(java.util.Date date)

getRingState

public boolean getRingState()
                     throws com.siemens.icm.io.ATCommandFailedException
Throws:
com.siemens.icm.io.ATCommandFailedException

setDate

public boolean setDate(java.lang.String date)
Sets Real Time Clock (RTC) as given by date, time string [AT+CCLK].

Parameters:
date - 'YY/MM/DD,hh:mm:ss'
Returns:
boolean'

getDate

public static java.util.Date getDate()

getTime

public static long getTime()

pinCode

public boolean pinCode(int password)

setQoSforGRPS

public boolean setQoSforGRPS(int cid,
                             int precedence,
                             int delay,
                             int reliability,
                             int peak,
                             int mean)

ATCommandOTAP

public boolean ATCommandOTAP(java.lang.String sms_pwd,
                             java.lang.String jad_URL,
                             java.lang.String appl_Dir,
                             java.lang.String http_user,
                             java.lang.String http_Pwd,
                             java.lang.String bs,
                             java.lang.String dest,
                             java.lang.String net_user,
                             java.lang.String net_pwd,
                             java.lang.String dns,
                             java.lang.String notifyURL)

ATCommandOTAP

public boolean ATCommandOTAP()

setSyncedTime

public void setSyncedTime()

resetSyncedTime

public void resetSyncedTime()

IsSyncedTime

public boolean IsSyncedTime()

getFlashPath

public static java.lang.String getFlashPath()

getGprsConf

public java.lang.String getGprsConf()

readProp

public java.lang.String readProp(java.lang.String prop)
Parameters:
prop -
Returns:
property value, null if the property is not set.

setProp

public java.lang.String setProp(java.lang.String prop,
                                java.lang.String val)

init

public void init()
Used AT Commands:
+CNMI, +CMGF, +CMEE, \Q, &V


sendAT

protected boolean sendAT(java.lang.String command,
                         java.lang.String expect)

getAT

protected java.lang.String getAT(java.lang.String command,
                                 java.lang.String expect)

getATresult

protected java.lang.String getATresult(java.lang.String command,
                                       java.lang.String expect)

sendSms

public void sendSms(java.lang.String num,
                    java.lang.String msg)

getTc65Status

public java.lang.String getTc65Status()

listFs

public void listFs()

getDeviceSerial

public java.lang.String getDeviceSerial()

getFreeFlashSpace

public long getFreeFlashSpace()

ATEvent

public void ATEvent(java.lang.String event)

RINGChanged

public void RINGChanged(boolean SignalState)

DCDChanged

public void DCDChanged(boolean SignalState)

DSRChanged

public void DSRChanged(boolean SignalState)

CONNChanged

public void CONNChanged(boolean SignalState)

handleSms

private void handleSms(java.lang.String event,
                       int idx)
Parameters:
event -
idx -

handleSmsRTC

public void handleSmsRTC(java.lang.String event,
                         int idx)

getOtapPropValue

private java.lang.String getOtapPropValue(java.lang.String propName,
                                          java.lang.String msg)

getIMEI

public java.lang.String getIMEI()
                         throws com.siemens.icm.io.ATCommandFailedException
Returns the IMEI of the TC65 module (15 characters fixed).

IMEI will be filtered as substring out of ATCommand response.

Remarks:
must be type String, because Integer type range to short and
Long type does not support method valueOf().

Returns:
String e.g. TC63 module '355633004695531'
Throws:
com.siemens.icm.io.ATCommandFailedException

getBaudRate

public int getBaudRate()
                throws com.siemens.icm.io.ATCommandFailedException
Returns the Baudrate of the TC65 module (on ASC0).

Baud rate will be filtered as substring out of ATCommand response AT+IPR?.

Remarks:
Used to identify if thermoprinter is activated.
Thermoprinter FV00019U requires ta baud rate of 19200.
The rate can't be set by Java AT command, so it must be set before
java application is running. This indicates that User wants to use the printer

Throws:
com.siemens.icm.io.ATCommandFailedException

getBattery

public int getBattery()
               throws com.siemens.icm.io.ATCommandFailedException
Returns the Battery Voltage of the TC65 module (in mV). Voltage will be filtered as substring out of ATCommand response.

Returns:
String 'Battery voltage in mV'
Throws:
com.siemens.icm.io.ATCommandFailedException

getSignalQuality

public java.lang.String getSignalQuality()
                                  throws com.siemens.icm.io.ATCommandFailedException
Returns the Signal Quality of the TC65 module (AT+CSQ).

API delivers
rssi (received signal strengh indicator and
ber (bit error rate)
only rssi will be returned but translated to dBm dimension.
0 = -113 dBm or less
1-31 = -111 .. -51dBm (i.e. -2 dB per step)
99 = not known or not detectable

Returns:
String 'Received Signal Strength (dBm)'
Throws:
com.siemens.icm.io.ATCommandFailedException

checkPort9

public boolean checkPort9()
                   throws com.siemens.icm.io.ATCommandFailedException
Throws:
com.siemens.icm.io.ATCommandFailedException

getMTsize

public int getMTsize()
              throws com.siemens.icm.io.ATCommandFailedException
Returns the Storage size of memory MT of the SIM/TC65 module. Size will be filtered as substring out of ATCommand SMSL response.

Throws:
com.siemens.icm.io.ATCommandFailedException

activateURC

public boolean activateURC()
                    throws com.siemens.icm.io.ATCommandFailedException
Activate Unsolicated Result Codes (URC) reporting [AT+CMER].

Returns:
boolean
Throws:
com.siemens.icm.io.ATCommandFailedException

testSMS

public boolean testSMS()
                throws com.siemens.icm.io.ATCommandFailedException
Activate Unsolicated Result Codes (URC) reporting [AT+CMER].

Returns:
boolean
Throws:
com.siemens.icm.io.ATCommandFailedException

testCall

public boolean testCall()
                 throws com.siemens.icm.io.ATCommandFailedException
check for calls [AT+CLCC].

example: +CLCC: 1,1,4,0,0,"+49662184691",145

Returns:
boolean
Throws:
com.siemens.icm.io.ATCommandFailedException

getCaller

public java.lang.String getCaller()
                           throws com.siemens.icm.io.ATCommandFailedException
check for calls [AT+CLCC].

example: +CLCC: 1,1,4,0,0,"+49662184691",145

Returns:
String e.g. "+49662184691"
Throws:
com.siemens.icm.io.ATCommandFailedException

getNewSMS

public java.lang.String getNewSMS()
                           throws com.siemens.icm.io.ATCommandFailedException
Activate Unsolicated Result Codes (URC) reporting [AT+CMER].

Returns:
boolean
Throws:
com.siemens.icm.io.ATCommandFailedException

deleteMTindex

public void deleteMTindex(int index)
                   throws com.siemens.icm.io.ATCommandFailedException
Returns the Storage size of memory MT of the SIM/TC65 module. Size will be filtered as substring out of ATCommand SMSL response.

Throws:
com.siemens.icm.io.ATCommandFailedException

getDay

public java.lang.String getDay()
                        throws com.siemens.icm.io.ATCommandFailedException
Returns the Day of the TC65 module (format "mm\dd" fixed). Day will be filtered as substring out of ATCommand response.

Throws:
com.siemens.icm.io.ATCommandFailedException

getRTC

public java.lang.String getRTC()
                        throws com.siemens.icm.io.ATCommandFailedException
Returns the RTC of the TC65 module (format "YY/MM/DD,hh:mm:ss" fixed). Day will be filtered as substring out of ATCommand response.

Throws:
com.siemens.icm.io.ATCommandFailedException

testGPIO

public java.lang.String testGPIO()

delay

public void delay(long milliSeconds)
Delays the actual Thread (in milli seconds). needed to control necessary timeouts after ATCommand sending.


delayTime

public static java.lang.String delayTime(long milliSeconds)
Converts milli seconds in appropriate time scale