Ignore:
Timestamp:
05/12/11 10:15:41 (14 years ago)
Author:
neise
Message:
ethernet with user interface test
File:
1 edited

Legend:

Unmodified
Added
Removed
  • firmware/FSC/src/w5100_spi_interface.c

    r10667 r10674  
    99
    1010//-----------------------------------------------------------------------------
     11// INTERFACE CONTROL VARS
     12
     13bool w5100_needs_reset = true;
     14bool w5100_needs_init = true;
     15bool w5100_ready = false;
     16
     17U08 w5100_caretaker() {
     18U08 socket_status;
     19        if (w5100_needs_reset)
     20                w5100_reset();
     21               
     22        socket_status = w5100_sock_status();
     23       
     24        if (socket_status == SR_SOCK_ESTABLISHED) {
     25                w5100_ready = true;
     26                // everything is fine...
     27                return 0;
     28        }
     29        else if(socket_status < SR_SOCK_ESTABLISHED) {
     30        // it might be LISTENING ... or not even OPEN
     31                if (socket_status == SR_SOCK_CLOSED) {
     32                        w5100_init();
     33                }
     34                if (socket_status == SR_SOCK_INIT) {
     35                        w5100_init();
     36                }
     37                if (socket_status == SR_SOCK_LISTEN) {
     38                       
     39                }
     40        }       
     41        else { // all other socket states need a reset
     42                w5100_needs_reset = true;
     43        }
     44w5100_ready = false;
     45return 1;
     46}
     47
     48void w5100_reset() {
     49        PORTB &= ~(1<<PB2); //#reset = LOW --> W5100 is in reset ...
     50        _delay_ms(50); //reset
     51       
     52        PORTB |= 1<<PB2; //#reset = HIGH --> W5100 is active
     53        _delay_ms(5);           // give it 5ms to accomodate.
     54        w5100_needs_reset = false;
     55}
     56
    1157
    1258void w5100_write( U16 addr, U08 data)
Note: See TracChangeset for help on using the changeset viewer.