Index: firmware/FSC/src/FSC_eth_with_user_interface.c
===================================================================
--- firmware/FSC/src/FSC_eth_with_user_interface.c	(revision 10910)
+++ firmware/FSC/src/FSC_eth_with_user_interface.c	(revision 10911)
@@ -43,4 +43,6 @@
 	U08 highbyte;
 	U08 lowbyte;
+	
+	U16 eth_red_bytes;
 
 	app_init();		  // Setup: Watchdog and I/Os
@@ -71,5 +73,5 @@
 }
 
-	static U08 welcome[]="FSC 0.2 \n build: 05.06.2010 - 12:57\n";
+	static U08 welcome[]="FSC 0.2 \n build: 05.06.2010\n";
 	usart_write_str(welcome);
 	/*
@@ -97,6 +99,9 @@
 	if ( (milisec % W5100_INPUT_CHECK_TIME == 0) && (w5100_ready) )
 	{
-		if (get_S0_RX_RSR() != 0) { // we have something to read
-			
+		eth_red_bytes = get_S0_RX_RSR();
+		if (eth_red_bytes != 0) { // we have something to read
+			usart_write_str((pU08)"ethgot:");
+			usart_write_U16(eth_red_bytes, 7);
+			usart_write_crlf();
 			parse_w5300_incoming( w5100_get_RX(ETH_READ_BUFFER_SIZE, true) );
 		}
Index: firmware/FSC/src/parser.c
===================================================================
--- firmware/FSC/src/parser.c	(revision 10910)
+++ firmware/FSC/src/parser.c	(revision 10911)
@@ -315,4 +315,12 @@
 void parse_w5300_incoming( U08 bytes_in_w5100_rx_buffer ) {
 
+	usart_writeln_str((pU08)"parsget:");
+	for (U08 i =0; i< ETH_READ_BUFFER_SIZE ; i++) {
+		usart_write_U08_hex(eth_read_buffer[i]);
+		usart_write_char((U08)eth_read_buffer[i]);
+		
+	}
+	usart_write_crlf();
+
 	if (bytes_in_w5100_rx_buffer == 0) // it was stupid to call this parser without having any bytes downloaded
 		return;
@@ -329,4 +337,5 @@
 			
 		case 't':	// measure *t*emperature (resistance) channels only
+			ad7719_values_printed = false;
 			reset_resistance_done();
 			simple_acknowledge();
@@ -334,4 +343,5 @@
 			
 		case 'v':	// measure *v*oltage channels only
+			adc_values_printed = false;
 			reset_voltage_done();
 			simple_acknowledge();
@@ -349,4 +359,8 @@
 			break;
 			
+		case 'k':
+			eth_write_stuff();
+			break;
+		
 		case 'z':	// re*z*et ATmega32 and peripherals
 			eth_write_buffer[0]='!';
@@ -475,2 +489,9 @@
 
 }
+
+void eth_write_stuff(void) {
+	S08 buf []="Test Ah Alarm!!\n";
+	for (U08 i =0 ; i<7 ; i++) {
+		eth_write_str(buf); 				
+	}
+}
Index: firmware/FSC/src/w5100_spi_interface.c
===================================================================
--- firmware/FSC/src/w5100_spi_interface.c	(revision 10910)
+++ firmware/FSC/src/w5100_spi_interface.c	(revision 10911)
@@ -217,6 +217,7 @@
 U08 high_byte = (value>>8);
 U08 low_byte = value&0x00FF;
+w5100_write(S0_TX_WR1, low_byte);
 w5100_write(S0_TX_WR0, high_byte);
-w5100_write(S0_TX_WR1, low_byte);
+
 }
 
@@ -279,4 +280,5 @@
 	w5100_write ( S0_CR, CR_RECV );
 	
+	/*
 	usart_write_U16_hex(get_S0_TX_FSR()); usart_write_char('\t'); usart_write_char('|');
 	usart_write_U16_hex(get_S0_TX_RD()); usart_write_char('\t'); usart_write_char('|');
@@ -284,5 +286,6 @@
 	usart_write_U16_hex(get_S0_RX_RSR()); usart_write_char('\t'); usart_write_char('|');
 	usart_write_U16_hex(get_S0_RX_RD()); usart_write_char('\t'); usart_write_char('|');
-
+	*/
+	
 	// if user wishes, W5100 may inform peer about receiption.
 	// this should be done quickly, otherwise timeout may occur on 
@@ -306,9 +309,24 @@
 	{
 		return 0;
-	}	
+	}
+	
 	U16 last_TX_write_pointer = get_S0_TX_WR();
 	U16 offset = last_TX_write_pointer & S0_TX_MASK;
 	U16 start_address =  S0_TX_BASE + offset;
 
+	usart_write_crlf();
+	usart_write_crlf();
+	usart_write_str((pU08)"lwp :");
+	usart_write_U16_hex(last_TX_write_pointer);
+	usart_write_crlf();
+	
+	usart_write_str((pU08)"off :");
+	usart_write_U16_hex(offset);
+	usart_write_crlf();
+	
+	usart_write_str((pU08)"stad:");
+	usart_write_U16_hex(start_address);
+	usart_write_crlf();
+	
 
 	U16 upper_size, lower_size;
@@ -338,8 +356,20 @@
 		{
 			w5100_write(start_address + i, string[i]);
+			usart_write_str((pU08)"wr:");
+			usart_write_U16_hex(start_address + i);
+			usart_write_char(' ');
+			usart_write_char(string[i]);
+			usart_write_crlf();
+
 		}
 		for (U16 i = 0; i < lower_size; ++i)
 		{
 			w5100_write(S0_RX_BASE + i, string[upper_size+i]);
+			usart_write_str((pU08)"wr:");
+			usart_write_U16_hex(S0_RX_BASE + i);
+			usart_write_char(' ');
+			usart_write_char(string[upper_size+i]);
+			usart_write_crlf();
+
 		}
 	}
@@ -349,10 +379,19 @@
 		{
 			w5100_write(start_address + i, string[i]);
-		}
-	}
-
-	// inform W5100 about how much data was read out.
+			usart_write_str((pU08)"wr:");
+			usart_write_U16_hex(start_address + i);
+			usart_write_char(' ');
+			usart_write_char(string[i]);
+			usart_write_crlf();
+
+		}
+	}
+
+	// inform W5100 about how much data was written.
 	set_S0_TX_WR(last_TX_write_pointer + NumBytes);
-	
+		usart_write_str((pU08)"wrpt:");
+		usart_write_U16_hex(last_TX_write_pointer + NumBytes);
+		usart_write_crlf();
+
 	// tell it to send now the data away
 	w5100_write( S0_CR, CR_SEND);
