Blame view

Tangible/tangibleInterface.c 1.3 KB
67b73333   amoreau   Ajout du squelette
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  #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)
  {
8d95b38e   pifou   update de tangibl...
15
    uint8_t mac[MAC_SIZE] = {0xA0,0xBD,0xCD,0xDD,0xED,0xFD};
99a83ce4   pifou   Ajout réponse TCP...
16
    uint8_t ip[IPV4_SIZE] = {172,26,145,205};
8d95b38e   pifou   update de tangibl...
17
    uint8_t gateway[4] = {172,26,145,254};
99a83ce4   pifou   Ajout réponse TCP...
18
19
20
21
    uint8_t mask[4] = {255,255,255,0};
  
    const char * answer = "I'm ok";
    
8d95b38e   pifou   update de tangibl...
22
    uint8 buf[16]; // Message à stocker.
99a83ce4   pifou   Ajout réponse TCP...
23
24
25
    uint8_t addr[IPV4_SIZE]; // Adresse source du message reçu.
    uint16_t port; // Port source du message reçu.
    
8d95b38e   pifou   update de tangibl...
26
27
28
29
30
    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); 
99a83ce4   pifou   Ajout réponse TCP...
31
  
8d95b38e   pifou   update de tangibl...
32
    if (!socket(sTCP,Sn_MR_TCP,2020,0))
99a83ce4   pifou   Ajout réponse TCP...
33
34
35
36
37
      {
        return -1;
      }
    while(1)
      {
8d95b38e   pifou   update de tangibl...
38
        printf("BOUCLE\n");
99a83ce4   pifou   Ajout réponse TCP...
39
40
41
42
        if(listen(sTCP)) //Repondre je vais bien à un client
  	{
  	  send(sTCP,(uint8 *)answer,sizeof(answer));
  	}
8d95b38e   pifou   update de tangibl...
43
  
99a83ce4   pifou   Ajout réponse TCP...
44
45
46
47
      }
    close(sTCP);
    close(sUDP);
    return 0;
67b73333   amoreau   Ajout du squelette
48
  }
8d95b38e   pifou   update de tangibl...
49
50
51
52
53
54
55
56
57
58
59
   
        /* 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; */
    /*   } */