BayEOSArduino Library
BayTCPSim900.h
1 #ifndef BayTCPSIM900_h
2 #define BayTCPSIM900_h
3 
4 #define SIM900_DEBUG 0
5 
6 
7 #include <HardwareSerial.h>
8 #include <BayTCP.h>
9 #include <RTClib.h>
10 
11 class RTC_SIM900 : public RTC {
12 public:
13  void begin() {}
14  void adjust(const DateTime& dt);
15  DateTime now();
16 
17 protected:
18  unsigned long offset;
19  unsigned long last_millis;
20 };
21 
22 
24 public:
29  uint8_t sendSMS(const String &phone, const String &sms);
30 
43  uint8_t connect(void);
44 
48  void disconnect(void);
52  uint8_t getRSSI(void);
53 
58  uint8_t setClock(const char* time);
59 
63  DateTime now(void);
64 
77  uint8_t begin(long baud,uint8_t unlock_only=0);
78 
79  /*
80  * Change the baud rate of the Modem
81  * 0 == OK
82  * 1 == Failed
83  */
84  uint8_t changeIPR(long baud);
85 
89  uint8_t isRegistered(void);
90 
94  uint8_t isAttached(void);
95 
101  void softSwitch(void);
102 
107  void softReset(void);
108 
109 
121  uint8_t init(uint8_t unlock_only=0);
122 
123 
124 
125  virtual void i_begin(long baud)=0;
126  virtual void i_end(void)=0;
127 
128  /*
129  * Flush the transfer depending on MTU of Network
130  */
131  void flushMTU(void);
132 
133  /*
134  * Finish the transmission mode of the modem
135  */
136  void finishTransmissionMode(void);
137 
138  long _baud;
139 public:
140  uint8_t _powerPin;
141  uint8_t _resetPin;
142 };
143 
144 class BayGPRS : public BayGPRSInterface {
145 public:
149  BayGPRS(HardwareSerial &serial, uint8_t powerPin=9,uint8_t resetPin=0);
150 private:
151  HardwareSerial* _serial; //Pointer to existing serial object!!
152  int available(void);
153  int read(void);
154  void i_begin(long b);
155  void i_end(void);
156  int i_available(void);
157  size_t write(uint8_t b);
158  int peek(void);
159  void flush(void);
160 };
161 
162 
163 
164 
165 #endif
Definition: BayTCPSim900.h:144
BayGPRS(HardwareSerial &serial, uint8_t powerPin=9, uint8_t resetPin=0)
Definition: BayTCPSim900.cpp:321
Definition: BayTCPSim900.h:23
void disconnect(void)
Definition: BayTCPSim900.cpp:284
uint8_t connect(void)
Definition: BayTCPSim900.cpp:227
void softReset(void)
Definition: BayTCPSim900.cpp:122
uint8_t sendSMS(const String &phone, const String &sms)
Definition: BayTCPSim900.cpp:295
uint8_t init(uint8_t unlock_only=0)
Definition: BayTCPSim900.cpp:45
uint8_t setClock(const char *time)
Definition: BayTCPSim900.cpp:138
uint8_t isAttached(void)
Definition: BayTCPSim900.cpp:170
DateTime now(void)
Definition: BayTCPSim900.cpp:178
uint8_t getRSSI(void)
Definition: BayTCPSim900.cpp:153
uint8_t begin(long baud, uint8_t unlock_only=0)
Definition: BayTCPSim900.cpp:309
uint8_t isRegistered(void)
Definition: BayTCPSim900.cpp:161
void softSwitch(void)
Definition: BayTCPSim900.cpp:107
Definition: BayTCP.h:56
Definition: BayEOSBuffer.h:33
Definition: BayTCPSim900.h:11
Definition: BayEOSBuffer.h:56