This is a non working version of my ethernet with sd card, i do not know why

Dependencies:   SDFileSystem mbed

Fork of eth_v13 by Heiko Greiner

Revision:
3:79dc3337d9da
Parent:
2:8f5bacfef390
--- a/TCPSocket.cpp	Tue Mar 18 22:51:18 2014 +0000
+++ b/TCPSocket.cpp	Fri Mar 21 00:18:33 2014 +0000
@@ -11,8 +11,19 @@
     _socket = newSocket;
 }
 
+TCPSocket::TCPSocket()
+{
+}
+
+void TCPSocket::setSocket(int socket)
+{
+    pc.printf("setSocket() = %d \n", _socket);
+    _socket = socket;
+}
+
 void TCPSocket::bind(int port)
 {
+    pc.printf("bind()= %d \n", _socket);
     _port = port;
     W5100.writeSnMR(_socket, SnMR::TCP); // set TCP mode
     W5100.writeSnPORT(_socket, _port);
@@ -20,6 +31,7 @@
 
 void TCPSocket::listen()
 {
+    pc.printf("listen()= %d \n", _socket);
     W5100.execCmdSn(_socket, Sock_OPEN); // set OPEN command
     W5100.execCmdSn(_socket, Sock_LISTEN); // listen
 }
@@ -41,6 +53,7 @@
     if (size > len) {
         size = len;
     }
+
     if (size > 0) {
         W5100.recv_data_processing(_socket, (uint8_t*)buf, size);
         W5100.execCmdSn(_socket, Sock_RECV);
@@ -51,16 +64,33 @@
 
 void TCPSocket::poll()
 {
+    // status abfragen
     uint8_t Sn_SR = W5100.readSnSR(_socket);
-    //pc.printf("SnSR = %x\n", Sn_SR);
+    pc.printf("(sock) SnSR = 0x%x\n", Sn_SR);
 
     switch(Sn_SR) {
-        case SnSR::ESTABLISHED:
-        m_pCb();
+        case SnSR::CLOSED:
+            listen();           // wenn Socket geschlossen, dann öffnen
+            break;
+
+        case SnSR::LISTEN:      // weiter warten
+            break;
+
+        case SnSR::ESTABLISHED: // Kontrolle, und App abarbeiten
+            _callbackHandler.call();
+            break;
+
+        case SnSR::FIN_WAIT:    // für die folgenden Fälle den Port schließen
+        case SnSR::CLOSING:
+        case SnSR::TIME_WAIT:
+        case SnSR::CLOSE_WAIT:
+        case SnSR::LAST_ACK:
+            close();
+            break;
+
+        default:                // Sonst --> nichts machen
             break;
     }
-
-
 }
 
 void TCPSocket::close()
@@ -74,4 +104,10 @@
 void TCPSocket::setOnEvent(void (*pMethod)(void))
 {
     m_pCb = pMethod;
+    pointertype = 0;
 }
+
+int TCPSocket::getRxSize()
+{
+    return W5100.readSnRX_RSR(_socket);
+}
\ No newline at end of file