FITkit
Fakulta informačních technologií

Dokumentace souboru enc28j60_spi_rx.c

#include "enc28j60_spi_rx.h"
#include "enc28j60_spi.h"

Zobrazit zdrojový text tohoto souboru.

Funkce

char rx_init ()
 Inicializace bufferu s příchozím paketem - interní funkce.
char rx_free ()
 Uzavře buffer a uvolní místo pro další příchozí pakety - interní funkce.
unsigned int rx_getc ()
 Přečte bajt z bufferu.
unsigned int rx_read (void *ptr, int length)
 Přečte blok dat velikosti length z bufferu a zapíše na adresu odkazovanou ukazatelem ptr.
unsigned int rx_getline (void *ptr, int max_length)
 Přečte řetězec ukončený hodnotou LF z bufferu a zapíše na adresu odkazovanou ukazatelem ptr.
int rx_left ()
 Vrátí počet zbývajících bajtů v bufferu.
unsigned char rx_isempty ()
 Kontroluje zda je buffer přečten celý.
void rx_cut_padding (unsigned char length)
 ořízne padding paketu (doplnění nulami na délku 60 bajtů u ethernetu) - interní funkce.

Proměnné

unsigned int rx_next_pkt
unsigned int rx_pkt_len
unsigned char receive_status [STATUS_LEN]
unsigned char rx_initialized


Dokumentace funkcí

void rx_cut_padding ( unsigned char  length  )  [inline]

ořízne padding paketu (doplnění nulami na délku 60 bajtů u ethernetu) - interní funkce.

Definice je uvedena na řádku 188 v souboru enc28j60_spi_rx.c.

Odkazuje se na rx_pkt_len.

Používá se v ip_recv().

char rx_free (  ) 

Uzavře buffer a uvolní místo pro další příchozí pakety - interní funkce.

Definice je uvedena na řádku 97 v souboru enc28j60_spi_rx.c.

Odkazuje se na bf_set(), rx_initialized, rx_next_pkt, select_bank() a write_reg16().

Používá se v eth_recv().

unsigned int rx_getc (  )  [inline]

Přečte bajt z bufferu.

Návratová hodnota:
hodnota bajtu , -1 při konci paketu

Definice je uvedena na řádku 116 v souboru enc28j60_spi_rx.c.

Odkazuje se na rx_pkt_len a spi_getc().

Používá se v UDP_APP_HANDLER().

unsigned int rx_getline ( void *  ptr,
int  max_length 
)

Přečte řetězec ukončený hodnotou LF z bufferu a zapíše na adresu odkazovanou ukazatelem ptr.

Parametry:
ptr - ukazatel na řetězec, 0 pro přes
max_length - maximální délka řetězce
Návratová hodnota:
počet přečtených bajtů

Definice je uvedena na řádku 147 v souboru enc28j60_spi_rx.c.

Odkazuje se na rx_pkt_len a spi_getline().

char rx_init (  ) 

Inicializace bufferu s příchozím paketem - interní funkce.

Definice je uvedena na řádku 62 v souboru enc28j60_spi_rx.c.

Odkazuje se na read_reg16(), read_reg8(), receive_status, rx_initialized, rx_next_pkt, rx_pkt_len, select_bank() a spi_read().

Používá se v eth_recv().

unsigned char rx_isempty (  )  [inline]

Kontroluje zda je buffer přečten celý.

Vracené hodnoty:
0 - v bufferu zbývají nepřečtená data
1 - buffer je přečten celý

Definice je uvedena na řádku 180 v souboru enc28j60_spi_rx.c.

Odkazuje se na rx_pkt_len.

int rx_left (  )  [inline]

Vrátí počet zbývajících bajtů v bufferu.

Návratová hodnota:
počet zbývajících bajtů

Definice je uvedena na řádku 172 v souboru enc28j60_spi_rx.c.

Odkazuje se na rx_pkt_len.

Používá se v icmp_recv(), tcp_fsm() a UDP_APP_HANDLER().

unsigned int rx_read ( void *  ptr,
int  length 
)

Přečte blok dat velikosti length z bufferu a zapíše na adresu odkazovanou ukazatelem ptr.

Parametry:
ptr - ukazatel, kam se bude zapisovat
length - délka dat v bajtech
Návratová hodnota:
počet přečtených bajtů

Definice je uvedena na řádku 127 v souboru enc28j60_spi_rx.c.

Odkazuje se na rx_pkt_len a spi_read().

Používá se v arp_recv(), eth_recv(), icmp_recv(), ip_recv(), tcp_recv(), UDP_APP_HANDLER() a udp_recv().


Dokumentace proměnných

unsigned char receive_status[STATUS_LEN]

Definice je uvedena na řádku 52 v souboru enc28j60_spi_rx.c.

Používá se v rx_init().

unsigned char rx_initialized

Definice je uvedena na řádku 53 v souboru enc28j60_spi_rx.c.

Používá se v rx_free() a rx_init().

unsigned int rx_next_pkt

Definice je uvedena na řádku 50 v souboru enc28j60_spi_rx.c.

Používá se v ENC28J60_init(), rx_free() a rx_init().

unsigned int rx_pkt_len

Definice je uvedena na řádku 51 v souboru enc28j60_spi_rx.c.

Používá se v rx_cut_padding(), rx_getc(), rx_getline(), rx_init(), rx_isempty(), rx_left() a rx_read().