Changeset 10911


Ignore:
Timestamp:
06/05/11 18:37:23 (13 years ago)
Author:
neise
Message:
atmega thinks it receives 512 bytes all the time ... 
thats not true ... 
Location:
firmware/FSC/src
Files:
3 edited

Legend:

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

    r10910 r10911  
    4343        U08 highbyte;
    4444        U08 lowbyte;
     45       
     46        U16 eth_red_bytes;
    4547
    4648        app_init();               // Setup: Watchdog and I/Os
     
    7173}
    7274
    73         static U08 welcome[]="FSC 0.2 \n build: 05.06.2010 - 12:57\n";
     75        static U08 welcome[]="FSC 0.2 \n build: 05.06.2010\n";
    7476        usart_write_str(welcome);
    7577        /*
     
    9799        if ( (milisec % W5100_INPUT_CHECK_TIME == 0) && (w5100_ready) )
    98100        {
    99                 if (get_S0_RX_RSR() != 0) { // we have something to read
    100                        
     101                eth_red_bytes = get_S0_RX_RSR();
     102                if (eth_red_bytes != 0) { // we have something to read
     103                        usart_write_str((pU08)"ethgot:");
     104                        usart_write_U16(eth_red_bytes, 7);
     105                        usart_write_crlf();
    101106                        parse_w5300_incoming( w5100_get_RX(ETH_READ_BUFFER_SIZE, true) );
    102107                }
  • firmware/FSC/src/parser.c

    r10910 r10911  
    315315void parse_w5300_incoming( U08 bytes_in_w5100_rx_buffer ) {
    316316
     317        usart_writeln_str((pU08)"parsget:");
     318        for (U08 i =0; i< ETH_READ_BUFFER_SIZE ; i++) {
     319                usart_write_U08_hex(eth_read_buffer[i]);
     320                usart_write_char((U08)eth_read_buffer[i]);
     321               
     322        }
     323        usart_write_crlf();
     324
    317325        if (bytes_in_w5100_rx_buffer == 0) // it was stupid to call this parser without having any bytes downloaded
    318326                return;
     
    329337                       
    330338                case 't':       // measure *t*emperature (resistance) channels only
     339                        ad7719_values_printed = false;
    331340                        reset_resistance_done();
    332341                        simple_acknowledge();
     
    334343                       
    335344                case 'v':       // measure *v*oltage channels only
     345                        adc_values_printed = false;
    336346                        reset_voltage_done();
    337347                        simple_acknowledge();
     
    349359                        break;
    350360                       
     361                case 'k':
     362                        eth_write_stuff();
     363                        break;
     364               
    351365                case 'z':       // re*z*et ATmega32 and peripherals
    352366                        eth_write_buffer[0]='!';
     
    475489
    476490}
     491
     492void eth_write_stuff(void) {
     493        S08 buf []="Test Ah Alarm!!\n";
     494        for (U08 i =0 ; i<7 ; i++) {
     495                eth_write_str(buf);                             
     496        }
     497}
  • firmware/FSC/src/w5100_spi_interface.c

    r10910 r10911  
    217217U08 high_byte = (value>>8);
    218218U08 low_byte = value&0x00FF;
     219w5100_write(S0_TX_WR1, low_byte);
    219220w5100_write(S0_TX_WR0, high_byte);
    220 w5100_write(S0_TX_WR1, low_byte);
     221
    221222}
    222223
     
    279280        w5100_write ( S0_CR, CR_RECV );
    280281       
     282        /*
    281283        usart_write_U16_hex(get_S0_TX_FSR()); usart_write_char('\t'); usart_write_char('|');
    282284        usart_write_U16_hex(get_S0_TX_RD()); usart_write_char('\t'); usart_write_char('|');
     
    284286        usart_write_U16_hex(get_S0_RX_RSR()); usart_write_char('\t'); usart_write_char('|');
    285287        usart_write_U16_hex(get_S0_RX_RD()); usart_write_char('\t'); usart_write_char('|');
    286 
     288        */
     289       
    287290        // if user wishes, W5100 may inform peer about receiption.
    288291        // this should be done quickly, otherwise timeout may occur on
     
    306309        {
    307310                return 0;
    308         }       
     311        }
     312       
    309313        U16 last_TX_write_pointer = get_S0_TX_WR();
    310314        U16 offset = last_TX_write_pointer & S0_TX_MASK;
    311315        U16 start_address =  S0_TX_BASE + offset;
    312316
     317        usart_write_crlf();
     318        usart_write_crlf();
     319        usart_write_str((pU08)"lwp :");
     320        usart_write_U16_hex(last_TX_write_pointer);
     321        usart_write_crlf();
     322       
     323        usart_write_str((pU08)"off :");
     324        usart_write_U16_hex(offset);
     325        usart_write_crlf();
     326       
     327        usart_write_str((pU08)"stad:");
     328        usart_write_U16_hex(start_address);
     329        usart_write_crlf();
     330       
    313331
    314332        U16 upper_size, lower_size;
     
    338356                {
    339357                        w5100_write(start_address + i, string[i]);
     358                        usart_write_str((pU08)"wr:");
     359                        usart_write_U16_hex(start_address + i);
     360                        usart_write_char(' ');
     361                        usart_write_char(string[i]);
     362                        usart_write_crlf();
     363
    340364                }
    341365                for (U16 i = 0; i < lower_size; ++i)
    342366                {
    343367                        w5100_write(S0_RX_BASE + i, string[upper_size+i]);
     368                        usart_write_str((pU08)"wr:");
     369                        usart_write_U16_hex(S0_RX_BASE + i);
     370                        usart_write_char(' ');
     371                        usart_write_char(string[upper_size+i]);
     372                        usart_write_crlf();
     373
    344374                }
    345375        }
     
    349379                {
    350380                        w5100_write(start_address + i, string[i]);
    351                 }
    352         }
    353 
    354         // inform W5100 about how much data was read out.
     381                        usart_write_str((pU08)"wr:");
     382                        usart_write_U16_hex(start_address + i);
     383                        usart_write_char(' ');
     384                        usart_write_char(string[i]);
     385                        usart_write_crlf();
     386
     387                }
     388        }
     389
     390        // inform W5100 about how much data was written.
    355391        set_S0_TX_WR(last_TX_write_pointer + NumBytes);
    356        
     392                usart_write_str((pU08)"wrpt:");
     393                usart_write_U16_hex(last_TX_write_pointer + NumBytes);
     394                usart_write_crlf();
     395
    357396        // tell it to send now the data away
    358397        w5100_write( S0_CR, CR_SEND);
Note: See TracChangeset for help on using the changeset viewer.