offer some API for GPRS use, such as call / sms / tcp connect

Dependents:   SDP_Testing

Fork of GPRS by wei zou

Revision:
4:63a2619b423b
Parent:
3:48ee24a4b0f3
Child:
5:ac2342f162fa
--- a/gprs.h	Fri Jan 10 05:59:36 2014 +0000
+++ b/gprs.h	Tue Jan 21 06:44:58 2014 +0000
@@ -27,6 +27,14 @@
 #include "mbed.h"
 
 #define DEFAULT_TIMEOUT     5
+#define SMS_MAX_LENGTH      16
+
+enum GPRS_MESSAGE {
+    MESSAGE_RING = 0,
+    MESSAGE_SMS  = 1,
+    MESSAGE_ERROR
+};
+
 
 /** GPRS class.
  *  Used for mobile communication. attention that GPRS module communicate with MCU in serial protocol
@@ -52,6 +60,115 @@
      */
     int init(void);
 
+    /** check SIM card' Status
+     *  @returns
+     *      0 on success
+     *      -1 on error
+     */
+    int checkSIMStatus(void);
+
+    /** check signal strength
+     *  @returns
+     *      signal strength in number(ex 3,4,5,6,7,8...) on success
+     *      -1 on error
+     */
+    int checkSignalStrength(void);
+
+    /** set SMS format and processing mode
+     *  @returns
+     *      0 on success
+     *      -1 on error
+     */
+    int settingSMS(void);
+
+    /** send text SMS
+     *  @param  *number    phone number which SMS will be send to
+     *  @param  *data   message that will be send to
+     *  @returns
+     *      0 on success
+     *      -1 on error
+     */
+    int sendSMS(char *number, char *data);
+
+    /** read SMS by index
+     *  @param  *message   buffer used to get SMS message
+         *  @param  index    which SMS message to read
+     *  @returns
+     *      0 on success
+     *      -1 on error
+     */
+    int readSMS(char *message, int index);
+
+    /** delete SMS message on SIM card
+     *  @param  *index    the index number which SMS message will be delete
+     *  @returns
+     *      0 on success
+     *      -1 on error
+     */
+    int deleteSMS(int index);
+
+    /** read SMS when coming a message,it will be store in messageBuffer.
+     *  @param message  buffer used to get SMS message
+     */
+    int getSMS(char* message);
+
+    /** call someone
+     *  @param  *number    the phone number which you want to call
+     *  @returns
+     *      0 on success
+     *      -1 on error
+     */
+    int callUp(char *number);
+
+    /** auto answer if coming a call
+     *  @returns
+     *      0 on success
+     *      -1 on error
+     */
+    int answer(void);
+
+    /** a loop to wait for some event. if a call comes in, it will auto answer it and if a SMS message comes in, it will read the message
+     *  @param  *check    whether to check phone number when get event
+     *  @returns
+     *      0 on success
+     *      -1 on error
+     */
+    int loopHandle(void);
+
+    /** build TCP connect
+     *  @param  *ip    ip address which will connect to
+     *  @param  *port   TCP server' port number
+     *  @returns
+     *      0 on success
+     *      -1 on error
+     */
+    int connectTCP(char *ip, char *port);
+
+    /** send data to TCP server
+     *  @param  *data    data that will be send to TCP server
+     *  @returns
+     *      0 on success
+     *      -1 on error
+     */
+    int sendTCPData(char *data);
+
+    /** close TCP connection
+     *  @returns
+     *      0 on success
+     *      -1 on error
+     */
+    int closeTCP(void);
+
+    /** close TCP service
+     *  @returns
+     *      0 on success
+     *      -1 on error
+     */
+    int shutTCP(void);
+
+
+    //USBSerial pc;
+private:
     /** read from GPRS module and save to buffer array
      *  @param  *buffer buffer array to save what read from GPRS module
      *  @param  *count  the maximal bytes number read from GPRS module
@@ -85,116 +202,11 @@
      */
     int sendCmdAndWaitForResp(char *cmd, char *resp, int timeout);
 
-    /** check SIM card' Status
-     *  @returns
-     *      0 on success
-     *      -1 on error
-     */
-    int checkSIMStatus(void);
-
-    /** check signal strength
-     *  @returns
-     *      signal strength in number(ex 3,4,5,6,7,8...) on success
-     *      -1 on error
-     */
-    int checkSignalStrength(void);
-
-    /** check network is ok or not
-     *  @returns
-     *      0 on success
-     *      -1 on error
-     */
-    int networkInit(void);
-
-    /** send text SMS
-     *  @param  *number    phone number which SMS will be send to
-     *  @param  *data   message that will be send to
-     *  @returns
-     *      0 on success
-     *      -1 on error
-     */
-    int sendSMS(char *number, char *data);
-
-    /** read SMS if get a SMS
-     *  @param  *buffer    buffer that get from GPRS module(when getting a SMS, GPRS module will return a buffer array)
-     *  @param  *message   buffer used to get SMS message
-     *  @param  check    whether to check phone number(we may only want to read SMS from specified phone number)
-     *  @returns
-     *      0 on success
-     *      -1 on error
-     */
-    int readSMS(char *buffer, char *message, bool check);
-
-    /** delete SMS message on SIM card
-     *  @param  *index    the index number which SMS message will be delete
-     *  @returns
-     *      0 on success
-     *      -1 on error
-     */
-    int deleteSMS(int index);
-
-    /** call someone
-     *  @param  *number    the phone number which you want to call
-     *  @returns
-     *      0 on success
-     *      -1 on error
-     */
-    int callUp(char *number);
-
-    /** auto answer if coming a call
-     *  @returns
-     *      0 on success
-     *      -1 on error
-     */
-    int answer(void);
-
-    /** a loop to wait for some event. if a call comes in, it will auto answer it and if a SMS message comes in, it will read the message
-     *  @param  *check    whether to check phone number when get event
-     *  @returns
-     *      0 on success
-     *      -1 on error
-     */
-    int loop(bool check);
-
-    /** build TCP connect
-     *  @param  *ip    ip address which will connect to
-     *  @param  *port   TCP server' port number
-     *  @returns
-     *      0 on success
-     *      -1 on error
-     */
-    int connectTCP(char *ip, char *port);
-
-    /** send data to TCP server
-     *  @param  *data    data that will be send to TCP server
-     *  @returns
-     *      0 on success
-     *      -1 on error
-     */
-    int sendTCPData(char *data);
-
-    /** close TCP connection
-     *  @returns
-     *      0 on success
-     *      -1 on error
-     */
-    int closeTCP(void);
-
-    /** close TCP service
-     *  @returns
-     *      0 on success
-     *      -1 on error
-     */
-    int shutTCP(void);
-
-    /** used for serial debug, you can specify tx and rx pin and then communicate with GPRS module with common AT commands
-     */
-    void serialDebug(PinName tx, PinName rx);
-
-private:
     Serial gprsSerial;
     Timer timeCnt;
     char *phoneNumber;
+    char messageBuffer[SMS_MAX_LENGTH];
 };
 
 #endif
+