FITkit
Fakulta informačních technologií

Dokumentace souboru enc28j60_spi.c

#include "enc28j60_spi.h"
#include "enc28j60_arp.h"
#include "fspi.h"

Zobrazit zdrojový text tohoto souboru.

Funkce

char ENC28J60_init ()
 Inicializace a start ENC28J60.
unsigned char read_reg8 (unsigned char addr, unsigned char read_dummy)
 Přečte 8-bitový kontrolní registr.
unsigned int read_reg16 (unsigned char addr, unsigned char read_dummy)
 Přečte 16-bitový kontrolní registr.
void write_reg8 (unsigned char addr, unsigned char data)
 Zapíše data do 8-bitového kontrolního registru.
void write_reg16 (unsigned char addr, unsigned int data)
 Zapíše data do 16-bitového kontrolního registru.
int read_phy_reg16 (unsigned char addr)
 Přečte 16-bitový PHY registr.
void write_phy_reg16 (unsigned char addr, unsigned int data)
 Zapíše data do 16-bitového PHY registru.
void bf_set (unsigned char addr, unsigned char mask)
 BFS (Bit Field Set) - Nastaví bity v registru podle masky, operace OR.
void bf_clear (unsigned char addr, unsigned char mask)
 BFC (Bit Field Clear) - Vynuluje bity v registru podle masky, operace NOT AND.
void enc_reset ()
 Resetuje ENC28J60.
void select_bank (unsigned char bank)
 Přepne banku registrů v ENC28J60.
unsigned char spi_getc ()
 Přečte bajt z bufferu v ENC28J60 - počáteční adresa je dána kontrolním registrem ERDPT.
unsigned int spi_read (void *ptr, unsigned int length)
 Přečte blok paměti z bufferu v ENC28J60 - počáteční adresa je dána kontrolním registrem ERDPT.
unsigned int spi_getline (void *ptr, unsigned int max_length)
 Přečte řádek textu ukončený znakem LF z bufferu v ENC28J60 - počáteční adresa je dána kontrolním registrem ERDPT
vhodné pro textové protokoly jako je např. telnet.
void spi_putc (unsigned char c)
 Zapíše bajt do bufferu v ENC28J60 - počáteční adresa je dána kontrolním registrem EWRPT.
void spi_write (void *ptr, unsigned int length)
 Zapíše blok paměti do bufferu v ENC28J60 - počáteční adresa je dána kontrolním registrem EWRPT.
void spi_fill (unsigned char value, unsigned int length)
 Vyplní část bufferu v ENC28J60 - počáteční adresa je dána kontrolním registrem EWRPT.
unsigned char link_change ()
 Zjistí změnu stavu linky (vypnuto->zapnuto a opačně), časově nenáročná operace.
unsigned char link_up ()
 Vrátí stav linky, časově hodně náročná operace(~1ms) - čtení PHY registrů z ENC28J60.

Proměnné

unsigned char current_bank = 0
unsigned char local_mac [MAC_LEN]
unsigned int rx_next_pkt
char enc_initialized = 0


Dokumentace funkcí

void bf_clear ( unsigned char  addr,
unsigned char  mask 
) [inline]

BFC (Bit Field Clear) - Vynuluje bity v registru podle masky, operace NOT AND.

Definice je uvedena na řádku 210 v souboru enc28j60_spi.c.

Odkazuje se na FSPI_set_CS a FSPI_write_wait().

Používá se v ENC28J60_init(), select_bank() a tx_checksum().

void bf_set ( unsigned char  addr,
unsigned char  mask 
) [inline]

BFS (Bit Field Set) - Nastaví bity v registru podle masky, operace OR.

Definice je uvedena na řádku 200 v souboru enc28j60_spi.c.

Odkazuje se na FSPI_set_CS a FSPI_write_wait().

Používá se v ENC28J60_init(), rx_free(), select_bank(), tx_checksum() a tx_send().

char ENC28J60_init (  ) 

Inicializace a start ENC28J60.

Vracené hodnoty:
0 - inicializace proběhla úspěšně
-1 - chyba při inicializaci

Definice je uvedena na řádku 57 v souboru enc28j60_spi.c.

Odkazuje se na arp_table_clear(), bf_clear(), bf_set(), enc_initialized, enc_reset(), FSPI_Init(), local_mac, read_phy_reg16(), rx_next_pkt, select_bank(), write_phy_reg16(), write_reg16() a write_reg8().

void enc_reset (  )  [inline]

Resetuje ENC28J60.

Definice je uvedena na řádku 220 v souboru enc28j60_spi.c.

Odkazuje se na enc_initialized, FSPI_set_CS a FSPI_write_wait().

Používá se v ENC28J60_init().

unsigned char link_change (  )  [inline]

Zjistí změnu stavu linky (vypnuto->zapnuto a opačně), časově nenáročná operace.

Definice je uvedena na řádku 378 v souboru enc28j60_spi.c.

Odkazuje se na read_phy_reg16() a read_reg8().

Používá se v dhcp_timer().

unsigned char link_up (  )  [inline]

Vrátí stav linky, časově hodně náročná operace(~1ms) - čtení PHY registrů z ENC28J60.

Vracené hodnoty:
1 - linka je funkční
0 - odpojeno
Viz také:
link_change()

Definice je uvedena na řádku 391 v souboru enc28j60_spi.c.

Odkazuje se na read_phy_reg16().

Používá se v dhcp_timer().

int read_phy_reg16 ( unsigned char  addr  )  [inline]

Přečte 16-bitový PHY registr.

Definice je uvedena na řádku 173 v souboru enc28j60_spi.c.

Odkazuje se na read_reg16(), read_reg8(), select_bank() a write_reg8().

Používá se v ENC28J60_init(), link_change() a link_up().

unsigned int read_reg16 ( unsigned char  addr,
unsigned char  read_dummy 
) [inline]

Přečte 16-bitový kontrolní registr.

Definice je uvedena na řádku 144 v souboru enc28j60_spi.c.

Odkazuje se na read_reg8().

Používá se v read_phy_reg16(), rx_init() a tx_checksum().

unsigned char read_reg8 ( unsigned char  addr,
unsigned char  read_dummy 
) [inline]

Přečte 8-bitový kontrolní registr.

Definice je uvedena na řádku 125 v souboru enc28j60_spi.c.

Odkazuje se na FSPI_set_CS, FSPI_write_wait() a FSPI_write_wait_read().

Používá se v ENC28J60_idle(), link_change(), read_phy_reg16(), read_reg16(), rx_init(), tx_checksum(), tx_init() a tx_send().

void select_bank ( unsigned char  bank  )  [inline]

Přepne banku registrů v ENC28J60.

Definice je uvedena na řádku 230 v souboru enc28j60_spi.c.

Odkazuje se na bf_clear(), bf_set() a current_bank.

Používá se v ENC28J60_init(), read_phy_reg16(), rx_free(), rx_init(), tx_checksum(), tx_close(), tx_init(), tx_protocol(), tx_seek(), tx_send() a write_phy_reg16().

void spi_fill ( unsigned char  value,
unsigned int  length 
)

Vyplní část bufferu v ENC28J60 - počáteční adresa je dána kontrolním registrem EWRPT.

Definice je uvedena na řádku 364 v souboru enc28j60_spi.c.

Odkazuje se na FSPI_set_CS a FSPI_write_wait().

Používá se v tx_fill().

unsigned char spi_getc (  ) 

Přečte bajt z bufferu v ENC28J60 - počáteční adresa je dána kontrolním registrem ERDPT.

Definice je uvedena na řádku 248 v souboru enc28j60_spi.c.

Odkazuje se na FSPI_set_CS, FSPI_write_wait() a FSPI_write_wait_read().

Používá se v rx_getc().

unsigned int spi_getline ( void *  ptr,
unsigned int  max_length 
)

Přečte řádek textu ukončený znakem LF z bufferu v ENC28J60 - počáteční adresa je dána kontrolním registrem ERDPT
vhodné pro textové protokoly jako je např. telnet.

Definice je uvedena na řádku 292 v souboru enc28j60_spi.c.

Odkazuje se na FSPI_set_CS, FSPI_write_wait(), FSPI_write_wait_read() a NULL.

Používá se v rx_getline().

void spi_putc ( unsigned char  c  ) 

Zapíše bajt do bufferu v ENC28J60 - počáteční adresa je dána kontrolním registrem EWRPT.

Definice je uvedena na řádku 334 v souboru enc28j60_spi.c.

Odkazuje se na FSPI_set_CS a FSPI_write_wait().

Používá se v tx_putc().

unsigned int spi_read ( void *  ptr,
unsigned int  length 
)

Přečte blok paměti z bufferu v ENC28J60 - počáteční adresa je dána kontrolním registrem ERDPT.

Definice je uvedena na řádku 263 v souboru enc28j60_spi.c.

Odkazuje se na FSPI_set_CS, FSPI_write_wait(), FSPI_write_wait_read() a NULL.

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

void spi_write ( void *  ptr,
unsigned int  length 
)

Zapíše blok paměti do bufferu v ENC28J60 - počáteční adresa je dána kontrolním registrem EWRPT.

Definice je uvedena na řádku 347 v souboru enc28j60_spi.c.

Odkazuje se na FSPI_set_CS a FSPI_write_wait().

Používá se v tx_write().

void write_phy_reg16 ( unsigned char  addr,
unsigned int  data 
) [inline]

Zapíše data do 16-bitového PHY registru.

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

Odkazuje se na select_bank(), write_reg16() a write_reg8().

Používá se v ENC28J60_init().

void write_reg16 ( unsigned char  addr,
unsigned int  data 
) [inline]

Zapíše data do 16-bitového kontrolního registru.

Definice je uvedena na řádku 163 v souboru enc28j60_spi.c.

Odkazuje se na write_reg8().

Používá se v ENC28J60_init(), rx_free(), tx_checksum(), tx_close(), tx_init(), tx_load(), tx_protocol(), tx_seek(), tx_skip() a write_phy_reg16().

void write_reg8 ( unsigned char  addr,
unsigned char  data 
) [inline]

Zapíše data do 8-bitového kontrolního registru.

Definice je uvedena na řádku 152 v souboru enc28j60_spi.c.

Odkazuje se na FSPI_set_CS a FSPI_write_wait().

Používá se v ENC28J60_init(), read_phy_reg16(), tx_send(), write_phy_reg16() a write_reg16().


Dokumentace proměnných

unsigned char current_bank = 0

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

Používá se v select_bank().

char enc_initialized = 0

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

Používá se v ENC28J60_init(), enc_reset() a set_mac().

unsigned char local_mac[MAC_LEN]

Definice je uvedena na řádku 54 v souboru enc28j60_eth.c.

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().