Changeset 200
- Timestamp:
- Mar 31, 2016, 12:23:49 AM (8 years ago)
- Location:
- rtos_arduino/trunk/examples/WifiEcho
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
rtos_arduino/trunk/examples/WifiEcho/rca_app.cpp
r181 r200 1 1 #include "rca.h" 2 #include "ESP8266.h" 2 3 3 4 #define SSID "" … … 9 10 #define WMODE_STATION 10 11 11 #include "ESP8266.h"12 13 12 ESP8266 wifi; 13 14 #ifdef MULTI_ECHO_SERVER 15 bool setup_done = false; 16 #endif /* MULTI_ECHO_SERVER */ 14 17 15 18 void setup() … … 80 83 } 81 84 82 if (wifi.setTCPServerTimeout( 10)) {83 Serial.print("set tcp server timout 10 seconds\r\n");85 if (wifi.setTCPServerTimeout(60)) { 86 Serial.print("set tcp server timout 60 seconds\r\n"); 84 87 } else { 85 88 Serial.print("set tcp server timout err\r\n"); … … 87 90 88 91 Serial.print("setup end\r\n"); 89 } 92 93 #ifdef MULTI_ECHO_SERVER 94 setup_done = true; 95 #endif /* MULTI_ECHO_SERVER */ 96 } 97 98 #define MUX_NULL 0xff 90 99 91 100 uint8_t mux_id_ptn; 101 102 uint8_t mux_id = MUX_NULL; 103 uint8_t task1_mux_id = MUX_NULL; 92 104 93 105 void loop() 94 106 { 95 uint8_t mux_id;96 107 uint8_t buffer[128] = {0}; 97 uint8_t pre_mux_id_ptn; 98 uint32_t len 99 108 uint8_t pre_mux_id_ptn; 109 uint32_t len; 110 uint32_t i; 111 112 delay(1); 113 /* Check Connection Status */ 100 114 pre_mux_id_ptn = mux_id_ptn; 101 115 102 116 if(!wifi.getMuxCStatus(&mux_id_ptn)) { 103 Serial.println("isConnected(&mux_id_ptn) : Error!"); 104 while(1); 105 } 106 107 if (pre_mux_id_ptn != mux_id_ptn) { 108 Serial.print("Connection Status changed! : 0x"); 109 Serial.println(mux_id_ptn, HEX); 110 } 111 112 if(!wifi.isDataAvailable()) { 113 return; 114 } 115 116 if((len = wifi.recv(&mux_id, buffer, sizeof(buffer))) == 0) { 117 return; 118 } 119 120 String cmd = (char*)buffer; 121 122 Serial.print("Web Server Task : Recive Request from mux : "); 117 Serial.println("getMuxCStatus(&mux_id_ptn) : Error!"); 118 } 119 else { 120 if (pre_mux_id_ptn != mux_id_ptn) { 121 Serial.print("Connection Status changed! : 0x"); 122 Serial.println(mux_id_ptn, HEX); 123 if (mux_id_ptn & 0x01) { 124 mux_id = 0; 125 } 126 if (mux_id_ptn & 0x02) { 127 task1_mux_id = 1; 128 } 129 } 130 } 131 132 if (mux_id == MUX_NULL) { 133 return; 134 } 135 136 if (!wifi.isConnected(mux_id)) { 137 Serial.print("Echo Server : Port is closed: "); 138 Serial.println(mux_id); 139 mux_id = MUX_NULL; 140 return; 141 } 142 143 if((len = wifi.recv(mux_id, buffer, sizeof(buffer))) == 0) { 144 return; 145 } 146 147 /* Recived Data */ 148 149 for(i = 0; i < len; i++) { 150 /* If Recive Ctrl-q(17) */ 151 if(buffer[i] == 17) { 152 Serial.print("Echo Server : Close port : "); 153 Serial.println(mux_id); 154 wifi.releaseTCP(mux_id); 155 mux_id = MUX_NULL; 156 return; 157 } 158 } 159 160 Serial.print("Echo Server : Recive Data from mux : "); 123 161 Serial.println(mux_id); 124 Serial.print(" Web Server Task: Recive len : ");162 Serial.print("Echo Server : Recive len : "); 125 163 Serial.println(len); 126 Serial.print("Web Server Task : Recive Data : "); 127 Serial.println(cmd); 128 129 if(!wifi.send(mux_id, cmd)) { 130 Serial.println("send(mux_id, cmd) : Error!"); 131 while(1); 132 } 133 134 wifi.releaseTCP(mux_id); 135 } 164 Serial.print("Echo Server : Recive Data : "); 165 Serial.println((char*)buffer); 166 167 if(!wifi.send(mux_id, buffer, len)) { 168 Serial.println("Echo Server : send(mux_id, cmd) : Error!"); 169 } 170 } 171 172 #ifdef MULTI_ECHO_SERVER 173 /* 174 * For TASK1 175 */ 176 void task1_setup() { 177 while(!setup_done) { 178 delay(1); 179 } 180 Serial.println("Echo Server Task1 : start"); 181 } 182 183 void task1_loop() { 184 uint8_t buffer[128] = {0}; 185 uint32_t len; 186 uint32_t i; 187 188 if (task1_mux_id == MUX_NULL) { 189 delay(1); 190 return; 191 } 192 193 if (!wifi.isConnected(task1_mux_id)) { 194 Serial.print("Echo Server Task1 : Port is closed: "); 195 Serial.println(task1_mux_id); 196 task1_mux_id = MUX_NULL; 197 return; 198 } 199 if((len = wifi.recv(task1_mux_id, buffer, sizeof(buffer))) == 0) { 200 return; 201 } 202 203 /* Recived Data */ 204 205 for(i = 0; i < len; i++) { 206 /* If Recive Ctrl-q(17) */ 207 if(buffer[i] == 17) { 208 Serial.print("Echo Server Task1 : Close port : "); 209 Serial.println(task1_mux_id); 210 wifi.releaseTCP(task1_mux_id); 211 task1_mux_id = MUX_NULL; 212 return; 213 } 214 } 215 216 Serial.print("Echo Server Task1 : Recive Data from mux : "); 217 Serial.println(task1_mux_id); 218 Serial.print("Echo Server Task1 : Recive len : "); 219 Serial.println(len); 220 Serial.print("Echo Server Task1 : Recive Data : "); 221 Serial.println((char*)buffer); 222 223 if(!wifi.send(task1_mux_id, buffer, len)) { 224 Serial.println("Echo Server Task1 : send(task1_mux_id, cmd) : Error!"); 225 } 226 delay(1); 227 } 228 #endif /* MULTI_ECHO_SERVER */ -
rtos_arduino/trunk/examples/WifiEcho/rca_app.h
r146 r200 2 2 #define _RCA_APP_H_ 3 3 4 #define MULTI_ECHO_SERVER 5 6 #ifndef MULTI_ECHO_SERVER 4 7 #define RCA_NUM_TASK 0 5 6 /* 7 * Use Serial3 8 */ 9 #define RCA_USE_SERIAL3 10 11 #define RCA_TASK2_LOOP_PRI 4 //Web 12 #define RCA_TASK3_LOOP_PRI 3 //LED 13 #define RCA_TASK4_LOOP_PRI 7 //TFT 14 #define RCA_TASK5_LOOP_PRI 6 //Processing 15 16 #define RCA_ENABLE_PROFILING 17 #define RCA_PROFILING_CYC_MS 1 8 #else /* MULTI_ECHO_SERVER */ 9 #define RCA_NUM_TASK 1 10 #endif /* MULTI_ECHO_SERVER */ 18 11 19 12 #endif /* _RCA_APP_H_ */
Note:
See TracChangeset
for help on using the changeset viewer.