Dependencies: EthernetNetIf mbed ADXL345_I2C
main.cpp@0:5abac0d420fc, 2012-02-23 (annotated)
- Committer:
- SED9008
- Date:
- Thu Feb 23 13:36:41 2012 +0000
- Revision:
- 0:5abac0d420fc
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
SED9008 | 0:5abac0d420fc | 1 | #include "mbed.h" |
SED9008 | 0:5abac0d420fc | 2 | #include "EthernetNetIf.h" |
SED9008 | 0:5abac0d420fc | 3 | #include "TCPSocket.h" |
SED9008 | 0:5abac0d420fc | 4 | #include "ADXL345_I2C.h" |
SED9008 | 0:5abac0d420fc | 5 | |
SED9008 | 0:5abac0d420fc | 6 | DigitalOut led1(LED1, "led1"); |
SED9008 | 0:5abac0d420fc | 7 | DigitalOut led2(LED2, "led2"); |
SED9008 | 0:5abac0d420fc | 8 | DigitalOut led3(LED3, "led3"); |
SED9008 | 0:5abac0d420fc | 9 | DigitalOut led4(LED4, "led4"); |
SED9008 | 0:5abac0d420fc | 10 | AnalogIn ana_x(p19, "ana_x"); |
SED9008 | 0:5abac0d420fc | 11 | AnalogIn ana_y(p20, "ana_y"); |
SED9008 | 0:5abac0d420fc | 12 | DigitalIn init(p5); |
SED9008 | 0:5abac0d420fc | 13 | DigitalIn garbage(p6); |
SED9008 | 0:5abac0d420fc | 14 | DigitalIn closesock(p7); |
SED9008 | 0:5abac0d420fc | 15 | ADXL345_I2C accelerometer(p9, p10); |
SED9008 | 0:5abac0d420fc | 16 | |
SED9008 | 0:5abac0d420fc | 17 | |
SED9008 | 0:5abac0d420fc | 18 | EthernetNetIf eth( |
SED9008 | 0:5abac0d420fc | 19 | IpAddr(192,168,0,16), //IP Address |
SED9008 | 0:5abac0d420fc | 20 | IpAddr(255,255,255,0), //Network Mask |
SED9008 | 0:5abac0d420fc | 21 | IpAddr(192,168,0,1), //Gateway |
SED9008 | 0:5abac0d420fc | 22 | IpAddr(192,168,0,1) //DNS |
SED9008 | 0:5abac0d420fc | 23 | ); |
SED9008 | 0:5abac0d420fc | 24 | |
SED9008 | 0:5abac0d420fc | 25 | |
SED9008 | 0:5abac0d420fc | 26 | // == stability vars |
SED9008 | 0:5abac0d420fc | 27 | Ticker routine; |
SED9008 | 0:5abac0d420fc | 28 | |
SED9008 | 0:5abac0d420fc | 29 | float base_x_0 = 50; |
SED9008 | 0:5abac0d420fc | 30 | float base_y_0 = 50; |
SED9008 | 0:5abac0d420fc | 31 | float base_x_1 = 50; |
SED9008 | 0:5abac0d420fc | 32 | float base_y_1 = 50; |
SED9008 | 0:5abac0d420fc | 33 | float base_x_2 = 50; |
SED9008 | 0:5abac0d420fc | 34 | float base_y_2 = 50; |
SED9008 | 0:5abac0d420fc | 35 | float base_x_3 = 50; |
SED9008 | 0:5abac0d420fc | 36 | float base_y_3 = 50; |
SED9008 | 0:5abac0d420fc | 37 | |
SED9008 | 0:5abac0d420fc | 38 | float motor_0 = 50; |
SED9008 | 0:5abac0d420fc | 39 | float motor_1 = 50; |
SED9008 | 0:5abac0d420fc | 40 | float motor_2 = 50; |
SED9008 | 0:5abac0d420fc | 41 | float motor_3 = 50; |
SED9008 | 0:5abac0d420fc | 42 | |
SED9008 | 0:5abac0d420fc | 43 | float a_motor_0 = motor_0; |
SED9008 | 0:5abac0d420fc | 44 | float a_motor_1 = motor_1; |
SED9008 | 0:5abac0d420fc | 45 | float a_motor_2 = motor_2; |
SED9008 | 0:5abac0d420fc | 46 | float a_motor_3 = motor_3; |
SED9008 | 0:5abac0d420fc | 47 | |
SED9008 | 0:5abac0d420fc | 48 | long x = 50; |
SED9008 | 0:5abac0d420fc | 49 | long y = 50; |
SED9008 | 0:5abac0d420fc | 50 | |
SED9008 | 0:5abac0d420fc | 51 | // == end |
SED9008 | 0:5abac0d420fc | 52 | |
SED9008 | 0:5abac0d420fc | 53 | int go = 0; |
SED9008 | 0:5abac0d420fc | 54 | int countertje = 0; |
SED9008 | 0:5abac0d420fc | 55 | |
SED9008 | 0:5abac0d420fc | 56 | #define TCP_LISTENING_PORT 1337 |
SED9008 | 0:5abac0d420fc | 57 | |
SED9008 | 0:5abac0d420fc | 58 | TCPSocket ListeningSock; //Listener |
SED9008 | 0:5abac0d420fc | 59 | TCPSocket* pConnectedSock; // for ConnectedSock |
SED9008 | 0:5abac0d420fc | 60 | Host client; |
SED9008 | 0:5abac0d420fc | 61 | TCPSocketErr err; |
SED9008 | 0:5abac0d420fc | 62 | char data[128]; |
SED9008 | 0:5abac0d420fc | 63 | |
SED9008 | 0:5abac0d420fc | 64 | void sender(const char*); |
SED9008 | 0:5abac0d420fc | 65 | void interrupt(); |
SED9008 | 0:5abac0d420fc | 66 | void onConnectedTCPSocketEvent( TCPSocketEvent ); |
SED9008 | 0:5abac0d420fc | 67 | void onListeningTCPSocketEvent( TCPSocketEvent ); |
SED9008 | 0:5abac0d420fc | 68 | |
SED9008 | 0:5abac0d420fc | 69 | int main() { |
SED9008 | 0:5abac0d420fc | 70 | |
SED9008 | 0:5abac0d420fc | 71 | //Go into standby mode to configure the device. |
SED9008 | 0:5abac0d420fc | 72 | accelerometer.setPowerControl(0x00); |
SED9008 | 0:5abac0d420fc | 73 | |
SED9008 | 0:5abac0d420fc | 74 | //Full resolution, +/-16g, 4mg/LSB. |
SED9008 | 0:5abac0d420fc | 75 | accelerometer.setDataFormatControl(0x0B); |
SED9008 | 0:5abac0d420fc | 76 | |
SED9008 | 0:5abac0d420fc | 77 | //3.2kHz data rate. |
SED9008 | 0:5abac0d420fc | 78 | accelerometer.setDataRate(ADXL345_3200HZ); |
SED9008 | 0:5abac0d420fc | 79 | |
SED9008 | 0:5abac0d420fc | 80 | //Measurement mode. |
SED9008 | 0:5abac0d420fc | 81 | accelerometer.setPowerControl(0x08); |
SED9008 | 0:5abac0d420fc | 82 | |
SED9008 | 0:5abac0d420fc | 83 | EthernetErr ethErr = eth.setup(); |
SED9008 | 0:5abac0d420fc | 84 | if(ethErr) |
SED9008 | 0:5abac0d420fc | 85 | { |
SED9008 | 0:5abac0d420fc | 86 | led3 = 1; |
SED9008 | 0:5abac0d420fc | 87 | return -1; |
SED9008 | 0:5abac0d420fc | 88 | } |
SED9008 | 0:5abac0d420fc | 89 | // Set the callbacks for Listening |
SED9008 | 0:5abac0d420fc | 90 | ListeningSock.setOnEvent(&onListeningTCPSocketEvent); |
SED9008 | 0:5abac0d420fc | 91 | // bind and listen on TCP |
SED9008 | 0:5abac0d420fc | 92 | err=ListeningSock.bind(Host(IpAddr(), TCP_LISTENING_PORT)); // listen on own ipaddres, port 1337 |
SED9008 | 0:5abac0d420fc | 93 | if(err) |
SED9008 | 0:5abac0d420fc | 94 | { |
SED9008 | 0:5abac0d420fc | 95 | //Deal with that error... |
SED9008 | 0:5abac0d420fc | 96 | led3 = 1; |
SED9008 | 0:5abac0d420fc | 97 | } |
SED9008 | 0:5abac0d420fc | 98 | err=ListeningSock.listen(); // Starts listening |
SED9008 | 0:5abac0d420fc | 99 | if(err) |
SED9008 | 0:5abac0d420fc | 100 | { |
SED9008 | 0:5abac0d420fc | 101 | led3 = 1; |
SED9008 | 0:5abac0d420fc | 102 | } |
SED9008 | 0:5abac0d420fc | 103 | routine.attach(&interrupt, 1); |
SED9008 | 0:5abac0d420fc | 104 | Timer timer; |
SED9008 | 0:5abac0d420fc | 105 | timer.start(); |
SED9008 | 0:5abac0d420fc | 106 | while(true) |
SED9008 | 0:5abac0d420fc | 107 | { |
SED9008 | 0:5abac0d420fc | 108 | Net::poll(); //poll TCPstack |
SED9008 | 0:5abac0d420fc | 109 | while(init) { |
SED9008 | 0:5abac0d420fc | 110 | if(!init){ |
SED9008 | 0:5abac0d420fc | 111 | sender("220 Connected\n"); |
SED9008 | 0:5abac0d420fc | 112 | go=1; |
SED9008 | 0:5abac0d420fc | 113 | break; |
SED9008 | 0:5abac0d420fc | 114 | |
SED9008 | 0:5abac0d420fc | 115 | } |
SED9008 | 0:5abac0d420fc | 116 | } |
SED9008 | 0:5abac0d420fc | 117 | while(closesock) { |
SED9008 | 0:5abac0d420fc | 118 | if(!closesock){ |
SED9008 | 0:5abac0d420fc | 119 | led1=0; |
SED9008 | 0:5abac0d420fc | 120 | go=0; |
SED9008 | 0:5abac0d420fc | 121 | pConnectedSock->close(); |
SED9008 | 0:5abac0d420fc | 122 | break; |
SED9008 | 0:5abac0d420fc | 123 | } |
SED9008 | 0:5abac0d420fc | 124 | } |
SED9008 | 0:5abac0d420fc | 125 | if(go){ |
SED9008 | 0:5abac0d420fc | 126 | if(countertje == 10){ |
SED9008 | 0:5abac0d420fc | 127 | countertje = 0; |
SED9008 | 0:5abac0d420fc | 128 | } |
SED9008 | 0:5abac0d420fc | 129 | char buffer [128]; |
SED9008 | 0:5abac0d420fc | 130 | sprintf (buffer, "%d\n",countertje); |
SED9008 | 0:5abac0d420fc | 131 | sender(buffer); |
SED9008 | 0:5abac0d420fc | 132 | sprintf (buffer, "x: %d\ny: %d\nmotor_0: %f\nmotor_1: %f\nmotor_2: %f\nmotor_3: %f\n", x,y,motor_0,motor_1,motor_2,motor_3); |
SED9008 | 0:5abac0d420fc | 133 | sender(buffer); |
SED9008 | 0:5abac0d420fc | 134 | char receive[128]; |
SED9008 | 0:5abac0d420fc | 135 | while ( int len = pConnectedSock->recv(receive, 128) ) { |
SED9008 | 0:5abac0d420fc | 136 | led2 != led2; |
SED9008 | 0:5abac0d420fc | 137 | if(strcmp(receive,"Got it!")==0){ |
SED9008 | 0:5abac0d420fc | 138 | led2 = 0; |
SED9008 | 0:5abac0d420fc | 139 | break; |
SED9008 | 0:5abac0d420fc | 140 | } |
SED9008 | 0:5abac0d420fc | 141 | } |
SED9008 | 0:5abac0d420fc | 142 | /* |
SED9008 | 0:5abac0d420fc | 143 | sprintf (buffer, "y: %d\n", y); |
SED9008 | 0:5abac0d420fc | 144 | sender(buffer); |
SED9008 | 0:5abac0d420fc | 145 | sprintf (buffer, "motor_0: %d\n", motor_0); |
SED9008 | 0:5abac0d420fc | 146 | sender(buffer); |
SED9008 | 0:5abac0d420fc | 147 | sprintf (buffer, "motor_1: %d\n", motor_1); |
SED9008 | 0:5abac0d420fc | 148 | sender(buffer); |
SED9008 | 0:5abac0d420fc | 149 | sprintf (buffer, "motor_2: %d\n", motor_2); |
SED9008 | 0:5abac0d420fc | 150 | sender(buffer); |
SED9008 | 0:5abac0d420fc | 151 | sprintf (buffer, "motor_3: %d\n", motor_3); |
SED9008 | 0:5abac0d420fc | 152 | sender(buffer); */ |
SED9008 | 0:5abac0d420fc | 153 | countertje++; |
SED9008 | 0:5abac0d420fc | 154 | } |
SED9008 | 0:5abac0d420fc | 155 | if(timer.read() > 0.2) |
SED9008 | 0:5abac0d420fc | 156 | { |
SED9008 | 0:5abac0d420fc | 157 | led4=!led4; //Status light toggle |
SED9008 | 0:5abac0d420fc | 158 | timer.reset(); |
SED9008 | 0:5abac0d420fc | 159 | } |
SED9008 | 0:5abac0d420fc | 160 | } |
SED9008 | 0:5abac0d420fc | 161 | } |
SED9008 | 0:5abac0d420fc | 162 | |
SED9008 | 0:5abac0d420fc | 163 | void sender( const char* data ){ |
SED9008 | 0:5abac0d420fc | 164 | int len = strlen(data); |
SED9008 | 0:5abac0d420fc | 165 | pConnectedSock->send(data, len); |
SED9008 | 0:5abac0d420fc | 166 | } |
SED9008 | 0:5abac0d420fc | 167 | |
SED9008 | 0:5abac0d420fc | 168 | |
SED9008 | 0:5abac0d420fc | 169 | void interrupt() |
SED9008 | 0:5abac0d420fc | 170 | { |
SED9008 | 0:5abac0d420fc | 171 | x = accelerometer.getAx(); |
SED9008 | 0:5abac0d420fc | 172 | y = accelerometer.getAy(); |
SED9008 | 0:5abac0d420fc | 173 | |
SED9008 | 0:5abac0d420fc | 174 | a_motor_0 = a_motor_0-((((base_x_0-x)/2)+((base_x_0-y)/2))/1000); |
SED9008 | 0:5abac0d420fc | 175 | if(a_motor_0>99){ |
SED9008 | 0:5abac0d420fc | 176 | motor_0 = 100;} |
SED9008 | 0:5abac0d420fc | 177 | else if(a_motor_0 < 1){ |
SED9008 | 0:5abac0d420fc | 178 | motor_0 = 0;} |
SED9008 | 0:5abac0d420fc | 179 | else{ |
SED9008 | 0:5abac0d420fc | 180 | motor_0 = a_motor_0;} |
SED9008 | 0:5abac0d420fc | 181 | a_motor_1 = a_motor_1-((((base_x_1-x)/2)-((base_x_1-y)/2))/1000); |
SED9008 | 0:5abac0d420fc | 182 | if(a_motor_1>99){ |
SED9008 | 0:5abac0d420fc | 183 | motor_1 = 100;} |
SED9008 | 0:5abac0d420fc | 184 | else if(a_motor_1 < 1){ |
SED9008 | 0:5abac0d420fc | 185 | motor_1 = 0;} |
SED9008 | 0:5abac0d420fc | 186 | else{ |
SED9008 | 0:5abac0d420fc | 187 | motor_1 = a_motor_1;} |
SED9008 | 0:5abac0d420fc | 188 | a_motor_2 = a_motor_2+((((base_x_2-x)/2)-((base_x_2-y)/2))/1000); |
SED9008 | 0:5abac0d420fc | 189 | if(a_motor_2>99){ |
SED9008 | 0:5abac0d420fc | 190 | motor_2 = 100;} |
SED9008 | 0:5abac0d420fc | 191 | else if(a_motor_2 < 1){ |
SED9008 | 0:5abac0d420fc | 192 | motor_2 = 0;} |
SED9008 | 0:5abac0d420fc | 193 | else{ |
SED9008 | 0:5abac0d420fc | 194 | motor_2 = a_motor_2;} |
SED9008 | 0:5abac0d420fc | 195 | a_motor_3 = a_motor_3+((((base_x_3-x)/2)+((base_x_3-y)/2))/1000); |
SED9008 | 0:5abac0d420fc | 196 | if(a_motor_3>99){ |
SED9008 | 0:5abac0d420fc | 197 | motor_3 = 100;} |
SED9008 | 0:5abac0d420fc | 198 | else if(a_motor_3 < 1){ |
SED9008 | 0:5abac0d420fc | 199 | motor_3 = 0;} |
SED9008 | 0:5abac0d420fc | 200 | else{ |
SED9008 | 0:5abac0d420fc | 201 | motor_3 = a_motor_3;} |
SED9008 | 0:5abac0d420fc | 202 | } |
SED9008 | 0:5abac0d420fc | 203 | |
SED9008 | 0:5abac0d420fc | 204 | void onConnectedTCPSocketEvent(TCPSocketEvent e) |
SED9008 | 0:5abac0d420fc | 205 | { |
SED9008 | 0:5abac0d420fc | 206 | switch(e) |
SED9008 | 0:5abac0d420fc | 207 | { |
SED9008 | 0:5abac0d420fc | 208 | case TCPSOCKET_CONNECTED: |
SED9008 | 0:5abac0d420fc | 209 | led1 = 1; |
SED9008 | 0:5abac0d420fc | 210 | break; |
SED9008 | 0:5abac0d420fc | 211 | case TCPSOCKET_WRITEABLE: |
SED9008 | 0:5abac0d420fc | 212 | //Can now write some data... |
SED9008 | 0:5abac0d420fc | 213 | led1 = 1; |
SED9008 | 0:5abac0d420fc | 214 | break; |
SED9008 | 0:5abac0d420fc | 215 | case TCPSOCKET_READABLE: |
SED9008 | 0:5abac0d420fc | 216 | //Can now read dome data... |
SED9008 | 0:5abac0d420fc | 217 | led1 = 1; |
SED9008 | 0:5abac0d420fc | 218 | // Read in any available data into the buffer |
SED9008 | 0:5abac0d420fc | 219 | char buff[128]; |
SED9008 | 0:5abac0d420fc | 220 | while ( int len = pConnectedSock->recv(buff, 128) ) { |
SED9008 | 0:5abac0d420fc | 221 | // And send straight back out again |
SED9008 | 0:5abac0d420fc | 222 | |
SED9008 | 0:5abac0d420fc | 223 | //pConnectedSock->send(buff, len); |
SED9008 | 0:5abac0d420fc | 224 | //buff[len]=0; // make terminater |
SED9008 | 0:5abac0d420fc | 225 | led2 != led2; |
SED9008 | 0:5abac0d420fc | 226 | strcpy(data,buff); |
SED9008 | 0:5abac0d420fc | 227 | } |
SED9008 | 0:5abac0d420fc | 228 | break; |
SED9008 | 0:5abac0d420fc | 229 | case TCPSOCKET_CONTIMEOUT: |
SED9008 | 0:5abac0d420fc | 230 | printf("TCP Socket Timeout\r\n"); |
SED9008 | 0:5abac0d420fc | 231 | break; |
SED9008 | 0:5abac0d420fc | 232 | case TCPSOCKET_CONRST: |
SED9008 | 0:5abac0d420fc | 233 | printf("TCP Socket CONRST\r\n"); |
SED9008 | 0:5abac0d420fc | 234 | break; |
SED9008 | 0:5abac0d420fc | 235 | case TCPSOCKET_CONABRT: |
SED9008 | 0:5abac0d420fc | 236 | printf("TCP Socket CONABRT\r\n"); |
SED9008 | 0:5abac0d420fc | 237 | break; |
SED9008 | 0:5abac0d420fc | 238 | case TCPSOCKET_ERROR: |
SED9008 | 0:5abac0d420fc | 239 | printf("TCP Socket Error\r\n"); |
SED9008 | 0:5abac0d420fc | 240 | break; |
SED9008 | 0:5abac0d420fc | 241 | case TCPSOCKET_DISCONNECTED: |
SED9008 | 0:5abac0d420fc | 242 | //Close socket... |
SED9008 | 0:5abac0d420fc | 243 | printf("TCP Socket Disconnected\r\n"); |
SED9008 | 0:5abac0d420fc | 244 | pConnectedSock->close(); |
SED9008 | 0:5abac0d420fc | 245 | led1=0; |
SED9008 | 0:5abac0d420fc | 246 | break; |
SED9008 | 0:5abac0d420fc | 247 | default: |
SED9008 | 0:5abac0d420fc | 248 | printf("DEFAULT\r\n"); |
SED9008 | 0:5abac0d420fc | 249 | } |
SED9008 | 0:5abac0d420fc | 250 | } |
SED9008 | 0:5abac0d420fc | 251 | |
SED9008 | 0:5abac0d420fc | 252 | |
SED9008 | 0:5abac0d420fc | 253 | void onListeningTCPSocketEvent(TCPSocketEvent e) |
SED9008 | 0:5abac0d420fc | 254 | { |
SED9008 | 0:5abac0d420fc | 255 | switch(e) |
SED9008 | 0:5abac0d420fc | 256 | { |
SED9008 | 0:5abac0d420fc | 257 | case TCPSOCKET_ACCEPT: |
SED9008 | 0:5abac0d420fc | 258 | printf("Listening: TCP Socket Accepted\r\n"); |
SED9008 | 0:5abac0d420fc | 259 | // Accepts connection from client and gets connected socket. |
SED9008 | 0:5abac0d420fc | 260 | err=ListeningSock.accept(&client, &pConnectedSock); |
SED9008 | 0:5abac0d420fc | 261 | if (err) { |
SED9008 | 0:5abac0d420fc | 262 | led3 = 1; |
SED9008 | 0:5abac0d420fc | 263 | return; //Error in accept, discard connection |
SED9008 | 0:5abac0d420fc | 264 | } |
SED9008 | 0:5abac0d420fc | 265 | // Setup the new socket events |
SED9008 | 0:5abac0d420fc | 266 | pConnectedSock->setOnEvent(&onConnectedTCPSocketEvent); |
SED9008 | 0:5abac0d420fc | 267 | // We can find out from where the connection is coming by looking at the |
SED9008 | 0:5abac0d420fc | 268 | // Host parameter of the accept() method |
SED9008 | 0:5abac0d420fc | 269 | IpAddr clientIp = client.getIp(); |
SED9008 | 0:5abac0d420fc | 270 | printf("Listening: Incoming TCP connection from %d.%d.%d.%d\r\n", |
SED9008 | 0:5abac0d420fc | 271 | clientIp[0], clientIp[1], clientIp[2], clientIp[3]); |
SED9008 | 0:5abac0d420fc | 272 | break; |
SED9008 | 0:5abac0d420fc | 273 | // the following cases will not happen |
SED9008 | 0:5abac0d420fc | 274 | case TCPSOCKET_CONNECTED: |
SED9008 | 0:5abac0d420fc | 275 | printf("Listening: TCP Socket Connected\r\n"); |
SED9008 | 0:5abac0d420fc | 276 | break; |
SED9008 | 0:5abac0d420fc | 277 | case TCPSOCKET_WRITEABLE: |
SED9008 | 0:5abac0d420fc | 278 | printf("Listening: TCP Socket Writable\r\n"); |
SED9008 | 0:5abac0d420fc | 279 | break; |
SED9008 | 0:5abac0d420fc | 280 | case TCPSOCKET_READABLE: |
SED9008 | 0:5abac0d420fc | 281 | printf("Listening: TCP Socket Readable\r\n"); |
SED9008 | 0:5abac0d420fc | 282 | break; |
SED9008 | 0:5abac0d420fc | 283 | case TCPSOCKET_CONTIMEOUT: |
SED9008 | 0:5abac0d420fc | 284 | printf("Listening: TCP Socket Timeout\r\n"); |
SED9008 | 0:5abac0d420fc | 285 | break; |
SED9008 | 0:5abac0d420fc | 286 | case TCPSOCKET_CONRST: |
SED9008 | 0:5abac0d420fc | 287 | printf("Listening: TCP Socket CONRST\r\n"); |
SED9008 | 0:5abac0d420fc | 288 | break; |
SED9008 | 0:5abac0d420fc | 289 | case TCPSOCKET_CONABRT: |
SED9008 | 0:5abac0d420fc | 290 | printf("Listening: TCP Socket CONABRT\r\n"); |
SED9008 | 0:5abac0d420fc | 291 | break; |
SED9008 | 0:5abac0d420fc | 292 | case TCPSOCKET_ERROR: |
SED9008 | 0:5abac0d420fc | 293 | led3 = 1; |
SED9008 | 0:5abac0d420fc | 294 | break; |
SED9008 | 0:5abac0d420fc | 295 | case TCPSOCKET_DISCONNECTED: |
SED9008 | 0:5abac0d420fc | 296 | //Close socket... |
SED9008 | 0:5abac0d420fc | 297 | printf("Listening: TCP Socket Disconnected\r\n"); |
SED9008 | 0:5abac0d420fc | 298 | ListeningSock.close(); |
SED9008 | 0:5abac0d420fc | 299 | break; |
SED9008 | 0:5abac0d420fc | 300 | default: |
SED9008 | 0:5abac0d420fc | 301 | printf("DEFAULT\r\n"); |
SED9008 | 0:5abac0d420fc | 302 | }; |
SED9008 | 0:5abac0d420fc | 303 | } |