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

Dependents:   SDP_Testing

Fork of GPRS by wei zou

Revision:
2:16985da3a446
Parent:
1:642a8dbe076c
Child:
3:48ee24a4b0f3
--- a/gprs.h	Fri Nov 15 03:40:35 2013 +0000
+++ b/gprs.h	Mon Nov 18 06:05:17 2013 +0000
@@ -24,39 +24,173 @@
 #define __GPRS_H__
 
 #include "mbed.h"
-
-class gprs
+/** GPRS class.
+ *  Used for mobile communication. attention that GPRS module communicate with MCU in serial protocol
+ */
+class GPRS
 {
-
 public:
-    gprs(PinName tx, PinName rx, int baudrate,char *Number) : gprsSerial(tx, rx) {
-        gprsSerial.baud(baudrate);
-        phoneNumber = Number;
+    /** Create GPRS instance
+     *  @param tx  uart transmit pin to communicate with GPRS module
+     *  @param rx  uart receive pin to communicate with GPRS module
+     *  @param baudRate baud rate of uart communication
+     *  @param number default phone number during mobile communication
+     */
+    GPRS(PinName tx, PinName rx, int baudRate,char *number) : gprsSerial(tx, rx) {
+        gprsSerial.baud(baudRate);
+        phoneNumber = number;
     };
+
+    /** init GPRS module including SIM card check & signal strength & network check
+     *  @returns
+     *      0 on success
+     *      -1 on error
+     */
     int init(void);
+
+    /** 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
+     *  @returns
+     *      0 on success
+     *      -1 on error
+     */
     int readBuffer(char *buffer,int count);
+
+    /** send AT command to GPRS module
+     *  @param  *cmd command array which will be send to GPRS module
+     */
     void sendCmd(char *cmd);
+
+    /** check GPRS module response before timeout
+     *  @param  *resp   correct response which GPRS module will return
+     *  @param  *timeout    waiting seconds till timeout
+     *  @returns
+     *      0 on success
+     *      -1 on error
+     */
     int waitForResp(char *resp, int timeout);
+
+    /** send AT command to GPRS module and wait for correct response
+     *  @param  *cmd    AT command which will be send to GPRS module
+     *  @param  *resp   correct response which GPRS module will return
+     *  @param  *timeout    waiting seconds till timeout
+     *  @returns
+     *      0 on success
+     *      -1 on error
+     */
     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;
 };
 
-//extern gprs GPRS;
 #endif