-
Notifications
You must be signed in to change notification settings - Fork 27
/
Copy pathGSM.h
58 lines (48 loc) · 1.8 KB
/
GSM.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#ifndef GSM_H
#define GSM_H
#include <NewSoftSerial.h>
#include <inttypes.h>
#include "WideTextFinder.h"
#define ctrlz 26 //Ascii character for ctr+z. End of a SMS.
#define cr 13 //Ascii character for carriage return.
#define lf 10 //Ascii character for line feed.
class GSM
{
public:
enum GSM_st_e { ERROR, IDLE, READY, ATTACHED, TCPSERVERWAIT, TCPCONNECTEDSERVER, TCPCONNECTEDCLIENT };
private:
int _status;
protected:
NewSoftSerial _cell;
WideTextFinder _tf;
inline void setStatus(GSM_st_e status) { _status = status; }
virtual int setPIN(char *pin);
int isIP(const char* cadena);
public:
GSM();
inline int getStatus(){ return _status; };
int begin(char* pin=0);
virtual int restart(char* pin=0);
virtual int start(char* pin=0);
virtual int shutdown();
virtual int getCCI(char* cci);
virtual int getIMEI(char* imei);
virtual int sendSMS(const char* to, const char* msg);
virtual boolean availableSMS();
virtual boolean readSMS(char* msg, int msglength, char* number, int nlength);
virtual boolean readCall(char* number, int nlength);
virtual boolean call(char* number, unsigned int milliseconds);
virtual int attachGPRS(char* domain, char* dom1, char* dom2);
virtual int dettachGPRS();
virtual int connectTCP(const char* server, int port);
virtual int disconnectTCP();
virtual int connectTCPServer(int port);
virtual boolean connectedClient();
virtual int readCellData(int &mcc, int &mnc, long &lac, long &cellid);
virtual int write(uint8_t c);
virtual int write(const char* str);
virtual int write(const uint8_t* buffer, size_t sz);
virtual int read(char* result, int resultlength);
virtual uint8_t read();
};
#endif