BayEOS-Arduino  1.8.0_0.0.4
BayHardwareSerialPlus.h
1 #ifndef BayTCPSIM900Plus_h
2 #define BayTCPSIM900Plus_h
3 
4 #define SIM900_DEBUG 0
5 
6 
7 #include <HardwareSerialPlus.h>
8 #include <BayTCPSim900.h>
9 #include <BayXBee.h>
10 #include <BaySerial.h>
11 #include <BayDebug.h>
12 #include "../BayTCP/BayTCP.h"
13 #include "../BayRTClib/RTClib.h"
14 
15 class BayGPRSPlus : public BayGPRSInterface {
16 public:
20  BayGPRSPlus(HardwareSerialPlus &serial=SerialPlus, uint8_t powerPin=9,uint8_t resetPin=0){
21  _powerPin=powerPin;
22  _urlencode=1;
23  _resetPin=resetPin;
24  _serial=&serial;
25  }
26 private:
27  HardwareSerialPlus* _serial; //Pointer to existing serial object!!
28  int available(void){return _serial->available();}
29  int read(void){
30 #if SIM900_DEBUG
31  int c=_serial->read();
32  if(c!=-1) SerialPlus.write(c);
33  return c;
34 #else
35  return _serial->read();
36 #endif
37 
38  }
39  void i_begin(long b){ _serial->begin(b);}
40  void i_end(void){ _serial->end();}
41  int i_available(void){return _serial->available();}
42  size_t write(uint8_t b){
43 #if SIM900_DEBUG
44  SerialPlus.write(b);
45 #endif
46  return _serial->write(b);
47  }
48  int peek(void){return _serial->peek();};
49  void flush(void){_serial->flush();};
50 };
51 
52 
54 private:
55  HardwareSerialPlus* _serial;
56 
57 public:
58  BayXBeePlus(uint8_t sleep_pin=0, uint8_t wakeup_time=15, int wait_time_for_response=5000,uint16_t dest=BAYXBEE_GATEWAY):
59  BayXBeeInterface(sleep_pin,wakeup_time,wait_time_for_response,dest)
60  {
61  _serial = &SerialPlus;
62  }
63 
64  void setSerial(HardwareSerialPlus &serial){
65  _serial = &serial;
66  }
67 
68  int i_available(void){
69  return _serial->available();
70  }
71  void i_begin(long baud){
72  _serial->begin(baud);
73  }
74  void flush(void){
75  _serial->flush();
76  }
77  int read(void){
78  return _serial->read();
79  }
80  size_t write(uint8_t c){
81  return _serial->write(c);
82  }
83 
84 };
85 
86 class XBeePlus : public XBeeInterface {
87 private:
88  HardwareSerialPlus* _serial;
89 
90 public:
91  XBeePlus(HardwareSerialPlus &serial=SerialPlus):XBeeInterface()
92  {
93  _serial = &serial;
94  }
95 
96  void setSerial(HardwareSerialPlus &serial){
97  _serial = &serial;
98  }
99 
100  int i_available(void){
101  return _serial->available();
102  }
103  void begin(long baud){
104  _serial->begin(baud);
105  }
106  void i_begin(long baud){
107  _serial->begin(baud);
108  }
109  void flush(void){
110  _serial->flush();
111  }
112  int read(void){
113  return _serial->read();
114  }
115  size_t write(uint8_t c){
116  return _serial->write(c);
117  }
118 
119 
120 };
121 
123 private:
124  HardwareSerialPlus* _serial; //Pointer to existing serial object!!
125 public:
129  BaySerialPlus(HardwareSerialPlus& serial=SerialPlus,int timeout=1000){
130  _serial=&serial;
131  BaySerialInterface::_timeout=timeout;
132  }
133 
134  int available(void){
135  return _serial->available();
136  }
137  int i_available(void){
138  return _serial->available();
139  }
140  void begin(long baud){
141  _serial->begin(baud);
142  }
143  void flush(void){
144  _serial->flush();
145  }
146  void end(void){
147  _serial->end();
148  }
149  int read(void){
150  return _serial->read();
151  }
152 
153  size_t write(uint8_t c){
154  return _serial->write(c);
155  }
156 
157 };
158 
160 private:
161  HardwareSerialPlus* _serial; //Pointer to existing serial object!!
162 public:
166  BayDebugPlus(HardwareSerialPlus& serial=SerialPlus){
167  _serial=&serial;
168  }
169 
170  int available(void){
171  return _serial->available();
172  }
173  int i_available(void){
174  return _serial->available();
175  }
176  void begin(long baud, uint8_t modus=0){
177  _serial->begin(baud);
178  }
179  void flush(void){
180  _serial->flush();
181  }
182  void end(void){
183  _serial->end();
184  }
185  int read(void){
186  return _serial->read();
187  }
188 
189  size_t write(uint8_t c){
190  return _serial->write(c);
191  }
192 
193 };
194 
195 
196 
197 
198 
199 #endif
BayDebugPlus(HardwareSerialPlus &serial=SerialPlus)
uint8_t begin(long baud, uint8_t unlock_only=0)
BayGPRSPlus(HardwareSerialPlus &serial=SerialPlus, uint8_t powerPin=9, uint8_t resetPin=0)
boolean _urlencode
Definition: BayTCP.h:142
BaySerialPlus(HardwareSerialPlus &serial=SerialPlus, int timeout=1000)