chrisdaloa icon

test_uipe

chrisdaloa | PRO | 12/11/17 10:26:15 PM UTC | 0 ⭐ | 548 👁️ | Never ⏰ | []
C++ |

2.01 KB

|

None

|

0 👍

/

0 👎

#define UIPETHERNET_CONF_H
#define UIP_SOCKET_NUMPACKETS    2
#define UIP_CONF_MAX_CONNECTIONS 1
#define UIP_CONF_UDP             0
#define UIP_CONF_BROADCAST       0
#define UIP_CONF_UDP_CONNS       0
#define UIP_ATTEMPTS_ON_WRITE    -1
#define UIP_CONNECT_TIMEOUT      -1
#define UIP_PERIODIC_TIMER       250
#define UIP_CLIENT_TIMER        -1
#define UIP_CONF_IPV6            0
#define UIP_UDP                  0
 
#define MYIPMASK
#define DEBUG
#define ENC28J60_CONTROL_CS 53
#include <Arduino.h>
#include <UIPEthernet.h>
 
#define MACADDRESS    0xDE,0xAD,0xBE,0xEF,0xFE,0xED
#define MYIPBASEADDR  172,19,15
#define MYIPADDR      MYIPBASEADDR,120
 
#define MYIPMASK      255,255,255,0
#define MYDNS         MYIPBASEADDR,254
#define MYGW          MYIPBASEADDR,254
 
#define LISTENPORT    5025
#define UARTBAUD 115200
char line_buffer[20];
 
EthernetServer server(LISTENPORT);
 
void setup(void)
{
  uint8_t mac[6]    = {MACADDRESS};
  uint8_t myIP[4]   = {MYIPADDR};
#ifdef MYIPMASK
  uint8_t myMASK[4] = {MYIPMASK};
  uint8_t myDNS[4]  = {MYDNS};
  uint8_t myGW[4]   = {MYGW};
#endif
 
  Serial.begin(UARTBAUD);
  Serial.print("Setup");
 
#ifdef MYIPMASK
  Ethernet.begin(mac, myIP, myDNS, myGW, myMASK);
#else
  Ethernet.begin(mac, myIP);
#endif
  server.begin();
}
 
 
void loop(void)
{
  int            attempt = 3;
  EthernetClient client = server.available();
 
  Serial.println(F("loop"));
  // check for new tcp-packet:
  if (client)
  {
    while (client.connected())
    {
      if (client.available())
      {
        int     read_length = sizeof(line_buffer);
        size_t  len = 10;
 
#ifdef DEBUG
        Serial.println(F("-> New Connection"));
#endif
        line_buffer[0]  = 0;
        len = client.read((uint8_t *)line_buffer, read_length);
#ifdef REMOVE_N // remove "\r\n" or " \n"
        len -= 2;
#endif
        line_buffer[len] = 0;
 
#ifdef DEBUG
        Serial.println("Disconnected");
        Serial.flush();
#endif
 
      }
    }
    client.stop();
  }
}

Comments