FITkit
Fakulta informačních technologií

enc28j60_spi_rx.h

Zobrazit dokumentaci tohoto souboru.
00001 /*******************************************************************************
00002    enc28j60_spi_rx.h: Knihovna funkcí pro práci s přijímacím bufferem
00003    Copyright (C) 2010 Brno University of Technology,
00004                       Faculty of Information Technology
00005    Author(s): Martin Musil <xmusil34 AT fit.vutbr.cz>
00006 
00007    LICENSE TERMS
00008 
00009    Redistribution and use in source and binary forms, with or without
00010    modification, are permitted provided that the following conditions
00011    are met:
00012    1. Redistributions of source code must retain the above copyright
00013       notice, this list of conditions and the following disclaimer.
00014    2. Redistributions in binary form must reproduce the above copyright
00015       notice, this list of conditions and the following disclaimer in
00016       the documentation and/or other materials provided with the
00017       distribution.
00018    3. All advertising materials mentioning features or use of this software
00019       or firmware must display the following acknowledgement:
00020 
00021         This product includes software developed by the University of
00022         Technology, Faculty of Information Technology, Brno and its
00023         contributors.
00024 
00025    4. Neither the name of the Company nor the names of its contributors
00026       may be used to endorse or promote products derived from this
00027       software without specific prior written permission.
00028 
00029    This software or firmware is provided ``as is'', and any express or implied
00030    warranties, including, but not limited to, the implied warranties of
00031    merchantability and fitness for a particular purpose are disclaimed.
00032    In no event shall the company or contributors be liable for any
00033    direct, indirect, incidental, special, exemplary, or consequential
00034    damages (including, but not limited to, procurement of substitute
00035    goods or services; loss of use, data, or profits; or business
00036    interruption) however caused and on any theory of liability, whether
00037    in contract, strict liability, or tort (including negligence or
00038    otherwise) arising in any way out of the use of this software, even
00039    if advised of the possibility of such damage.
00040 
00041    $Id$
00042 
00043 *******************************************************************************/ 
00044 
00050 #ifndef _ENC28J60_SPI_RX_
00051 #define _ENC28J60_SPI_RX_
00052 
00053 #define NULL 0          
00054 
00055 /*
00056 #define RX_START        3126
00057 #define RX_END          0x1FFF
00058 */
00059 /*
00060 zmena, dodany radic mel obcasne problemy s inicializaci jednoho registru, ERXWRPT,
00061 je pouze pro cteni a inicializuje se automaticky podle hodnoty ERXST, ale obcas
00062 se v nem hodnota ERXST neobjevila, byla tam 0, proto jsem ukazatele zamenil,
00063 aby byla hodnota ERXST a potazmo ERXWRPT 0 a tak i pri teto chybe pracoval radic spravne
00064 */
00065 
00070 #define RX_START        0               
00071 #define RX_END          4972    
00072 
00073 #define STATUS_LEN      4               
00074 
00075 
00081 char rx_init();
00082 
00088 char rx_free();
00089 
00098 inline unsigned int rx_getc();
00099 
00106 unsigned int rx_read(void* ptr, int length);
00107 
00114 unsigned int rx_getline(void* ptr, int max_length);
00115 
00120 inline int rx_left();
00121 
00127 inline unsigned char rx_isempty();
00128 
00137 inline void rx_cut_padding(unsigned char length);
00138 
00147 #define rx_skip(len) rx_read(NULL, len)
00148 
00149 
00150 #endif /*_ENC28J60_SPI_RX_*/