]> git.llucax.com Git - z.facultad/66.09/etherled.git/blob - pruebas/c/net/net.c
Bugfix en el cálculo de checksum.
[z.facultad/66.09/etherled.git] / pruebas / c / net / net.c
1 #include "net.h"
2
3 byte net_buffer[4000]; // buffer
4 static uint16 rp = 0; // puntero de lectura
5 static uint16 wp = 0; // puntero de escritura
6
7 void net_resetrp()
8 {
9         rp = 0;
10 }
11
12 void net_resetwp()
13 {
14         wp = 0;
15 }
16
17 byte net_getb()
18 {
19         return net_buffer[rp++];
20 }
21
22 void net_putb(byte b)
23 {
24         net_buffer[wp++] = b;
25 }
26
27 uint16 net_getw()
28 {
29         uint16 w = net_getb() << 8;
30         return w + net_getb();
31 }
32
33 void net_putw(uint16 w)
34 {
35         net_putb(HIGH(w));
36         net_putb(LOW(w));
37 }
38