while (1) // Forever
{
- uint16 len = netdev_recv_start();
+ byte i;
+ byte len = netdev_recv_start();
printb(len, 0x1);
- if (!len) // no recibimos nada
- goto drop; // Tiramos el paquete
+ if (!len) // no recibimos nada (válido)
+ continue; // Probamos de nuevo
// Tenemos algo!
//print(0x2);
printb(udp_dgram_len, 0x40);
// TODO
// Nuestro protocolo, por ahora un simple echo!
- for (len = 8; len < udp_dgram_len; len += 2) // 8 por la cabecera UDP
+ for (i = 8; i < udp_dgram_len; ++i) // 8 por la cabecera UDP
{
- print(netdev_recv_word());
+ leds0 = ~netdev_recv_byte();
+ leds1 = ~i;
+ sleep(8);
}
+ i = (udp_dgram_len % 2) ? udp_dgram_len : (udp_dgram_len + 1);
+ for (i += 34; i < len; ++i) // 8 por la cabecera UDP
+ netdev_recv_byte();
drop:
netdev_recv_end();
}