tangibleInterface.c 1.3 KB
#include <avr/io.h>
#include <util/delay.h>
#include <stdio.h>

#include "serial.h"
#include "ethernet.h"
#include "w5100.h"
#include "socket.h"

#define MAC_SIZE	6
#define IPV4_SIZE	4

int main(void)
{
  uint8_t mac[MAC_SIZE] = {0xA0,0xBD,0xCD,0xDD,0xED,0xFD};
  uint8_t ip[IPV4_SIZE] = {172,26,145,205};
  uint8_t gateway[4] = {172,26,145,254};
  uint8_t mask[4] = {255,255,255,0};

  const char * answer = "I'm ok";
  
  uint8 buf[16]; // Message à stocker.
  uint8_t addr[IPV4_SIZE]; // Adresse source du message reçu.
  uint16_t port; // Port source du message reçu.
  
  SOCKET sUDP=0;
  SOCKET sTCP=1;
    init_printf(); // On active la liaison série (9600 BD).
    // On assimile une adresse MAC et IP au shield + Indication de la passerelle et du masque de sous-réseau.
    ethernet_init(mac,ip,gateway,mask); 

  if (!socket(sTCP,Sn_MR_TCP,2020,0))
    {
      return -1;
    }
  while(1)
    {
      printf("BOUCLE\n");
      if(listen(sTCP)) //Repondre je vais bien à un client
	{
	  send(sTCP,(uint8 *)answer,sizeof(answer));
	}

    }
  close(sTCP);
  close(sUDP);
  return 0;
}
 
      /* if (recvfrom(sUDP,buf,sizeof(buf),addr,&port) != -1) //Reception via UDP (infos de la sonde) */
      /* 	{ */
      /* 	} */



  /* if (!socket(sUDP,Sn_MR_UDP,2020,0)) */
  /*   { */
  /*     return -1; */
  /*   } */