A PicoTCP driver for the lpc1768 mbed board

Dependents:   lpc1768-picotcp-demo TCPSocket_HelloWorld_PicoTCP Pico_TCP_UDP_Test TCPSocket_HelloWorld_PicoTCP ... more

Revision:
7:608779751f85
Parent:
6:32c8501737cd
Child:
8:0b675bdd074f
--- a/pico_dev_mbed_emac.cpp	Sun Jun 16 19:45:09 2013 +0000
+++ b/pico_dev_mbed_emac.cpp	Wed Jul 03 08:00:05 2013 +0000
@@ -76,7 +76,6 @@
 /********************
  * Global variables *
  ********************/
-//uint16_t lBuffer[ETH_MAX_MTU>>1] __attribute__((section("AHBSRAM0")));
 
 /*******************
  * Local variables *
@@ -374,7 +373,7 @@
 
   // Set the Ethernet MAC Address registers
   LPC_EMAC->SA0 = (mbdev->mac[0] << 8) | mbdev->mac[1];
-  LPC_EMAC->SA1 = (mbdev->mac[2] << 8) | mbdev->mac[2];
+  LPC_EMAC->SA1 = (mbdev->mac[2] << 8) | mbdev->mac[3];
   LPC_EMAC->SA2 = (mbdev->mac[4] << 8) | mbdev->mac[5];
 
   // Initialize Tx and Rx DMA Descriptors
@@ -591,22 +590,7 @@
       uint32_t RxLen = (info & RINFO_SIZE) - 3u;
       rptr = (uint16_t *)(mbdev->dma_data->p_rx_desc[index].Packet);
 
-      if(!( (RxLen >= ETH_MAX_MTU) || (info & RINFO_ERR_MASK) ) )
-      {
-        // copy uin16_t (that's per 2 bytes) data content // Uhm... why??
-        uint16_t lRxLen = RxLen>>1;
-        //uint16_t * lptr = lBuffer;
-        //while(lRxLen)
-        //{
-        //    *lptr++ = *rptr++;
-        //    lRxLen--;
-        //}
-        //if(RxLen & 0x1)
-        //    *lptr = (*rptr) & 0xFF ;
-            
-        //printf("ETH> recv %d bytes: %x:%x\r\n", RxLen, lBuffer[0],lBuffer[1]);
-        
-        // call the stack and pass this packet to it
+      if(!( (RxLen >= ETH_MAX_MTU) || (info & RINFO_ERR_MASK) ) ) {
         pico_stack_recv((struct pico_device *)mbdev,(uint8_t *)rptr,RxLen);
       } else {
         //printf("RxError?\r\n");
@@ -617,8 +601,6 @@
       index = (index+1)%NUM_RX_FRAG;
       LPC_EMAC->RxConsumeIndex = index;
                 
-      // Toggle RX LED
-      //led_rx= !led_rx;
     }
     
     return retval;