Changeset 212 for rtos_arduino/trunk/arduino_lib
- Timestamp:
- Apr 2, 2016, 1:16:42 PM (8 years ago)
- Location:
- rtos_arduino/trunk/arduino_lib/libraries/ESP8266_Arudino_AT
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
rtos_arduino/trunk/arduino_lib/libraries/ESP8266_Arudino_AT/Client_ESP8266.h
r189 r212 23 23 #include "Client.h" 24 24 25 class ESP8266Client: public Client , public ESP8266{25 class ESP8266Client: public Client { 26 26 public: 27 27 ESP8266Client(void) { 28 pbuffer = &rx_buffer[0]; 28 mux_id = 0; 29 mux = false; 30 pbuffer = &(WiFi.rx_buffer[0]); 29 31 } 32 33 ESP8266Client(uint8_t _mux_id) { 34 mux_id = _mux_id; 35 mux = true; 36 pbuffer = &(WiFi.rx_buffer[mux_id]); 37 } 30 38 31 39 /* … … 34 42 */ 35 43 int connect(IPAddress ip, uint16_t port) { 36 if (isConnected()) return 1; 37 String ip_str; 38 ip_str.concat(ip[0]); ip_str.concat("."); 39 ip_str.concat(ip[1]); ip_str.concat("."); 40 ip_str.concat(ip[2]); ip_str.concat("."); 41 ip_str.concat(ip[3]); 42 return (createTCP(ip_str, port))? 1 : 0; 44 if (mux) { 45 if (WiFi.isConnected(mux_id)) return 1; 46 String ip_str; 47 ip_str.concat(ip[0]); ip_str.concat("."); 48 ip_str.concat(ip[1]); ip_str.concat("."); 49 ip_str.concat(ip[2]); ip_str.concat("."); 50 ip_str.concat(ip[3]); 51 return (WiFi.createTCP(mux_id, ip_str, port))? 1 : 0; 52 } 53 else { 54 if (WiFi.isConnected()) return 1; 55 String ip_str; 56 ip_str.concat(ip[0]); ip_str.concat("."); 57 ip_str.concat(ip[1]); ip_str.concat("."); 58 ip_str.concat(ip[2]); ip_str.concat("."); 59 ip_str.concat(ip[3]); 60 return (WiFi.createTCP(ip_str, port))? 1 : 0; 61 } 43 62 }; 44 63 45 64 int connect(const char *host, uint16_t port) { 46 if (isConnected()) return 1; 47 String ip_str(host); 48 return (createTCP(ip_str, port))? 1 : 0; 65 if (mux) { 66 if (WiFi.isConnected(mux_id)) return 1; 67 String ip_str(host); 68 return (WiFi.createTCP(mux_id, ip_str, port))? 1 : 0; 69 } 70 else { 71 if (WiFi.isConnected()) return 1; 72 String ip_str(host); 73 return (WiFi.createTCP(ip_str, port))? 1 : 0; 74 } 49 75 }; 50 76 51 77 size_t write(uint8_t data) { 52 if(send(&data, 1)){ 53 return 1; 54 } 55 return 0; 78 if (mux) { 79 if(WiFi.send(mux_id, &data, 1)){ 80 return 1; 81 } 82 return 0; 83 } 84 else { 85 if(WiFi.send(&data, 1)){ 86 return 1; 87 } 88 return 0; 89 } 56 90 }; 57 91 58 92 size_t write(const uint8_t *buf, size_t size){ 59 if(send(buf, size)){ 60 return size; 93 if (mux) { 94 if(WiFi.send(mux_id, buf, size)){ 95 return size; 96 } 97 return 0; 61 98 } 62 return 0; 99 else { 100 if(WiFi.send(buf, size)){ 101 return size; 102 } 103 return 0; 104 } 63 105 }; 64 106 65 int available(){ 66 return isDataAvailable(); 107 int available(void){ 108 if(mux) { 109 return WiFi.isDataAvailable(mux_id); 110 } 111 else { 112 return WiFi.isDataAvailable(); 113 } 67 114 }; 68 115 69 116 int read(){ 70 117 uint8_t data; 71 if(recv(&data, 1) == 1) { 72 return data; 118 if(mux) { 119 if(WiFi.recv(mux_id, &data, 1) == 1) { 120 return data; 121 } 122 return (int)-1; 73 123 } 74 return (int)-1; 124 else { 125 if(WiFi.recv(&data, 1) == 1) { 126 return data; 127 } 128 return (int)-1; 129 } 75 130 }; 76 131 77 132 int read(uint8_t *buf, size_t size){ 78 return recv(buf, size); 133 if(mux) { 134 return WiFi.recv(mux_id, buf, size); 135 } 136 else { 137 return WiFi.recv(buf, size); 138 } 79 139 }; 80 140 81 int peek( ){141 int peek(void){ 82 142 return pbuffer->peek(); 83 143 }; 84 144 85 void flush(){}; 86 void stop(){ if (isConnected()) { releaseTCP(); }} 87 uint8_t connected(){return (isConnected())? 1 : 0;}; 88 operator bool(){return isConnected();}; 145 void flush(void){}; 146 void stop(void){ 147 if(mux) { 148 if (WiFi.isConnected(mux_id)) { 149 WiFi.releaseTCP(mux_id); 150 } 151 } 152 else { 153 if (WiFi.isConnected()) { 154 WiFi.releaseTCP(); 155 } 156 } 157 }; 158 uint8_t connected(void){ 159 if(mux) { 160 return (WiFi.isConnected(mux_id))? 1 : 0; 161 } 162 else { 163 return (WiFi.isConnected())? 1 : 0; 164 } 165 }; 166 operator bool(){ 167 if(mux) { 168 return WiFi.isConnected(mux_id); 169 } 170 else { 171 return WiFi.isConnected(); 172 } 173 }; 174 89 175 private: 90 176 ESP8266_RingBuffer *pbuffer; 177 uint8_t mux_id; 178 bool mux; 91 179 }; 92 180 -
rtos_arduino/trunk/arduino_lib/libraries/ESP8266_Arudino_AT/ESP8266.cpp
r202 r212 1293 1293 } 1294 1294 1295 ESP8266 WiFi; -
rtos_arduino/trunk/arduino_lib/libraries/ESP8266_Arudino_AT/ESP8266.h
r189 r212 487 487 */ 488 488 bool getMuxCStatus(uint8_t *mux_id_ptn); 489 490 friend class ESP8266Client; 489 491 490 492 private: … … 594 596 }; 595 597 598 extern ESP8266 WiFi; 599 596 600 #endif /* #ifndef __ESP8266_H__ */ 597 601
Note:
See TracChangeset
for help on using the changeset viewer.