Index: firmware/FSC/src/FSC_eth_with_user_interface.c
===================================================================
--- firmware/FSC/src/FSC_eth_with_user_interface.c	(revision 11666)
+++ firmware/FSC/src/FSC_eth_with_user_interface.c	(revision 11667)
@@ -46,4 +46,6 @@
 	U16 eth_red_bytes;
 
+	U08 rc;
+	
 	app_init();		  // Setup: Watchdog and I/Os
 	usart_init();
@@ -62,5 +64,5 @@
 	
 for ( U08 i=0; i < (RESISTANCE_CHANNELS/8); ++i ) {
-	ad7719_enables[i]=0x00;
+	ad7719_enables[i]=0xFF;
 	ad7719_channels_ready[i]=0;
 	}
@@ -90,6 +92,10 @@
 
 	// checks if socket is okay and resets in case of problem the W5100 
-	if (w5100_caretaker())  
+	rc=w5100_caretaker();
+	if ( rc != 0x17 && rc != 0x14)  
 	{
+		usart_write_str((pU08)"caretaker! error code:");
+		usart_write_U08_hex(rc);
+		usart_write_crlf();
 	// something is not okay with the ethernet ... 
 	// will be reset in the next revolution.. but maybe we want to do more...
@@ -99,6 +105,11 @@
 	if ( (milisec % W5100_INPUT_CHECK_TIME == 0) && (w5100_ready) )
 	{
-		eth_red_bytes = get_S0_RX_RSR();
-		if (eth_red_bytes != 0) { // we have something to read
+		if ( (eth_red_bytes = get_S0_RX_RSR()) != 0) {
+			for (U08 rep=0; rep<1; ) {
+				if (eth_red_bytes == get_S0_RX_RSR() )
+					rep++;
+				else
+					eth_red_bytes =get_S0_RX_RSR();
+			}
 			usart_write_str((pU08)"ethgot:");
 			usart_write_U16(eth_red_bytes, 7);
@@ -106,4 +117,5 @@
 			parse_w5300_incoming( w5100_get_RX(ETH_READ_BUFFER_SIZE, true) );
 		}
+		
 	}
 	
@@ -116,9 +128,10 @@
 			usart_write_U32(sec ,8);
 			print_adc_nicely(false,true);
+			write_status_via_eth();
 			//print_adc_stupid();
 			reset_voltage_done();
 			reset_voltage_values();
-			telegram_start();
-			w5100_set_TX((U08*) adc_values, ADC_VALUES_LEN_BYTE);
+			//telegram_start();
+			//w5100_set_TX((U08*) adc_values, ADC_VALUES_LEN_BYTE);
 
 			reset_voltage_done();
@@ -127,8 +140,9 @@
 			adc_values_printed = true;
 			print_adc_nicely(true,true);
+			write_status_via_eth();
 			//print_adc_stupid();
 			//reset_voltage_done();
-			telegram_start();
-			w5100_set_TX((U08*) adc_values, ADC_VALUES_LEN_BYTE);
+			//telegram_start();
+			//w5100_set_TX((U08*) adc_values, ADC_VALUES_LEN_BYTE);
 
 		}
@@ -138,10 +152,12 @@
 
 		if(ad7719_print_endless){
-			usart_write_str((pU08)"R|");
-			usart_write_U32(sec ,8);
-			print_ad7719_nicely(false,true);
+			
+			print_ad7719_nicely();
+			write_status_via_eth();
 			reset_resistance_done();
-			telegram_start();
-			w5100_set_TX((U08*) ad7719_values, AD7719_VALUES_LEN_BYTE);
+			reset_voltage_done();
+			
+			//telegram_start();
+			//w5100_set_TX((U08*) ad7719_values, AD7719_VALUES_LEN_BYTE);
 
 		} else 
@@ -149,7 +165,8 @@
 			ad7719_values_printed = true;
 			print_ad7719_nicely(true,true);
+			write_status_via_eth();
 			reset_resistance_done();
-			telegram_start();
-			w5100_set_TX((U08*) ad7719_values, AD7719_VALUES_LEN_BYTE);
+			//telegram_start();
+			//w5100_set_TX((U08*) ad7719_values, AD7719_VALUES_LEN_BYTE);
 
 		}
Index: firmware/FSC/src/parser.c
===================================================================
--- firmware/FSC/src/parser.c	(revision 11666)
+++ firmware/FSC/src/parser.c	(revision 11667)
@@ -4,4 +4,5 @@
 #include "usart.h"
 #include "w5100_spi_interface.h"
+#include "timer.h"
 // this method parses the data, 
 // which came in via USART
@@ -350,4 +351,6 @@
 		case 'm':	// *m*easure active channels commands
 			reset_done();
+			ad7719_print_endless = true;
+			
 			simple_acknowledge();
 			break;
@@ -420,4 +423,6 @@
 
 void write_status_via_eth() {
+float resistance;
+
 	// take care: ethernet write buffer is just 32 bytes long.
 	eth_write_str("status: "); 				eth_writeln_str(nc_U32_to_hex(status));
@@ -425,13 +430,14 @@
 	// otherwise the numbers in time_sec and time_ms might get corrupt during output.
 	cli();
-	eth_write_str("time_s: "); 				eth_writeln_str(nc_U32_to_str(time_sec, 10));
-	eth_write_str("mili_s: "); 				eth_writeln_str(nc_U16_to_str(time_ms, 6));
+	eth_write_str("time_s: "); 				eth_write_str(nc_U32_to_str(sec, 1));
+	eth_write_str(".");eth_writeln_str(nc_U16_to_str(milisec, 1));
+	//eth_write_str("mili_s: "); 				eth_writeln_str(nc_U16_to_str(milisec, 1));
 	sei();
 	
-	eth_write_str("R_ref : "); 				eth_writeln_str(nc_U16_to_str(ref_resistor, 6));
+	//eth_write_str("R_ref : "); 				eth_writeln_str(nc_U16_to_str(ref_resistor, 6));
 	
 	eth_writeln_str("VOLTAGES\n");
 		eth_write_str("enable:"); 				
-		for (U08 i=0; i<4 ; i++){
+		for (U08 i=0; i<VOLTAGE_REGS ; i++){
 			eth_write_str(nc_U08_to_bin(adc_enables[i]));
 			// need to tweak here in order to get some nice spaces...
@@ -439,8 +445,8 @@
 			eth_write_index++;
 		}
-		eth_writeln_str(nc_U08_to_bin(adc_enables[4]));
+		eth_write_buffer[eth_write_index++] = '\n';
 		
 		eth_write_str("  done:"); 				
-		for (U08 i=0; i<4 ; i++){
+		for (U08 i=0; i<VOLTAGE_REGS ; i++){
 			eth_write_str(nc_U08_to_bin(adc_channels_ready[i]));
 			// need to tweak here in order to get some nice spaces...
@@ -448,18 +454,18 @@
 			eth_write_index++;
 		}
-		eth_writeln_str(nc_U08_to_bin(adc_channels_ready[4]));
-
+		eth_write_buffer[eth_write_index++] = '\n';
+		
 		eth_write_str("values:"); 				
-		for (U08 i=0; i<73 ; i++){
-			eth_write_str(nc_U16_to_str(adc_values[i], 6) );
+		for (U08 i=0; i<VOLTAGE_CHANNELS ; i++){
+			eth_write_str(nc_U16_to_str(adc_values[i]/10, 1) );
 			// need to tweak here in order to get some nice spaces...
 			eth_write_buffer[eth_write_index] = ' ';
 			eth_write_index++;
 		}
-		eth_writeln_str(nc_U16_to_str(adc_values[73], 6) );
+		eth_write_buffer[eth_write_index++] = '\n';
 		
 	eth_writeln_str("RESISTANCES\n");
 		eth_write_str("enable:"); 				
-		for (U08 i=0; i<7 ; i++){
+		for (U08 i=0; i<(RESISTANCE_CHANNELS/8) ; i++){
 			eth_write_str(nc_U08_to_bin(ad7719_enables[i]));
 			// need to tweak here in order to get some nice spaces...
@@ -467,8 +473,8 @@
 			eth_write_index++;
 		}
-		eth_writeln_str(nc_U08_to_bin(ad7719_enables[7]));
+		eth_write_buffer[eth_write_index++] = '\n';
 		
 		eth_write_str("  done:"); 				
-		for (U08 i=0; i<7 ; i++){
+		for (U08 i=0; i<(RESISTANCE_CHANNELS/8) ; i++){
 			eth_write_str(nc_U08_to_bin(ad7719_channels_ready[i]));
 			// need to tweak here in order to get some nice spaces...
@@ -476,14 +482,21 @@
 			eth_write_index++;
 		}
-		eth_writeln_str(nc_U08_to_bin(ad7719_channels_ready[7]));
-
-		eth_write_str("values:"); 				
-		for (U08 i=0; i<63 ; i++){
-			eth_write_str(nc_U32_to_str(ad7719_values[i], 10) );
+		eth_write_buffer[eth_write_index++] = '\n';
+
+		eth_write_str("values:\n"); 				
+		for (U08 i=0; i<RESISTANCE_CHANNELS ; i++){
+			//eth_write_str(nc_U32_to_str(ad7719_values[i], 10) );
+			
+			resistance = (6.25 * 1024 * ad7719_values[i]) / ((U32)1 << 25);
+			eth_write_str(nc_float_to_str(resistance , 2, 2) );
 			// need to tweak here in order to get some nice spaces...
-			eth_write_buffer[eth_write_index] = ' ';
+			if (i%8 == 7)
+				eth_write_buffer[eth_write_index] = '\n';
+			else
+				eth_write_buffer[eth_write_index] = ' ';
+			
 			eth_write_index++;
 		}
-		eth_writeln_str(nc_U32_to_str(ad7719_values[63], 10) );
+		eth_writeln_str("\nend.\n");
 		
 
@@ -491,7 +504,8 @@
 
 void eth_write_stuff(void) {
-	S08 buf []="Test Ah Alarm!!\n";
-	for (U08 i =0 ; i<7 ; i++) {
-		eth_write_str(buf); 				
-	}
-}
+	S08 buf []="Test Ah A!!\n";
+	for (U08 i =0 ; i<255 ; i++) {
+		eth_write_str(nc_U08_to_str(i,4));
+		eth_write_str(buf);
+	}
+}
Index: firmware/FSC/src/parser.h
===================================================================
--- firmware/FSC/src/parser.h	(revision 11666)
+++ firmware/FSC/src/parser.h	(revision 11667)
@@ -24,3 +24,4 @@
 // I hope this is convenient.
 void write_status_via_eth();
+void eth_write_stuff(void);
 #endif
Index: firmware/FSC/src/spi_master.c
===================================================================
--- firmware/FSC/src/spi_master.c	(revision 11666)
+++ firmware/FSC/src/spi_master.c	(revision 11667)
@@ -16,8 +16,5 @@
 
 void spi_setup_w5100() {
-	spi_clock_index = 4;   		// 1Mbps
-	// this is reasonable for W5100 because of slow level shifters on the FSC.
-	// in case the slow level shifters, are improved. this value may go up to 6!
-
+	spi_clock_index = 1;   		// 
 	spi_dord = 0;					// Data Order MSB first dord = 0  --> good for all devices
 	spi_cpol = 0;	spi_cpha = 0;	// SPI mode=0 good for ethernet.
Index: firmware/FSC/src/w5100_spi_interface.c
===================================================================
--- firmware/FSC/src/w5100_spi_interface.c	(revision 11666)
+++ firmware/FSC/src/w5100_spi_interface.c	(revision 11667)
@@ -12,38 +12,50 @@
 // INTERFACE CONTROL VARS
 
-bool w5100_needs_reset = true;
 bool w5100_needs_init = true;
 bool w5100_ready = false;
 
+U16 last_samurai = 0x0000;
+
 U08 w5100_caretaker() {
 U08 socket_status;
-	if (w5100_needs_reset)
-		w5100_reset();
-		
+	
 	socket_status = w5100_sock_status();
+	//usart_write_str((pU08)"ss:");
+	//usart_write_U08_hex(socket_status);
+	//usart_write_char(' ');
 	
 	if (socket_status == SR_SOCK_ESTABLISHED) {
 		w5100_ready = true;
-		
 		// everything is fine... 
-		return 0;
-	}
-	else if(socket_status < SR_SOCK_ESTABLISHED) {
-	// it might be LISTENING ... or not even OPEN
-		if (socket_status == SR_SOCK_CLOSED) {
+	}
+	else if (socket_status == SR_SOCK_LISTEN) { 
+		w5100_ready = false;
+		// wait for connection
+	}
+	else {
+		socket_status = w5100_sock_status();
+		//usart_write_str((pU08)"ss2:");
+		//usart_write_U08_hex(socket_status);
+		//usart_write_char(' ');
+			
+		if (socket_status == SR_SOCK_ESTABLISHED) {
+		w5100_ready = true;
+		// everything is fine... 
+		}
+		else if (socket_status == SR_SOCK_LISTEN) { 
+		w5100_ready = false;
+		// wait for connection
+		}
+		else
+		{
+		// this should never happen
+		w5100_ready = false;
+			w5100_reset();
 			w5100_init();
 		}
-		if (socket_status == SR_SOCK_INIT) {
-			w5100_init();
-		}
-		if (socket_status == SR_SOCK_LISTEN) {
-			
-		}
-	}	
-	else { // all other socket states need a reset
-		w5100_needs_reset = true;
-	}
-w5100_ready = false;
-return 1;
+	}
+	
+	//usart_write_crlf();
+return socket_status;
 }
 
@@ -54,5 +66,4 @@
 	PORTB |= 1<<PB2; //#reset = HIGH --> W5100 is active
 	_delay_ms(5);		// give it 5ms to accomodate.
-	w5100_needs_reset = false;
 }
 
@@ -165,6 +176,6 @@
 {
 U16 freesize;
-freesize=w5100_read(S0_TX_FSR0);
-freesize = freesize << 8;
+freesize=w5100_read(S0_TX_FSR0);		// datasheet: user should read upper byte first, and lower byte later
+freesize = freesize << 8;				// 				to get correct value
 freesize += w5100_read(S0_TX_FSR1);
 return freesize;
@@ -195,8 +206,24 @@
 {
 U16 received_size;
-received_size=w5100_read(S0_RX_RSR0);
-received_size = received_size << 8;
-received_size += w5100_read(S0_RX_RSR1);   // S0_RX_RSR1 is the least significant byte ... 
-return received_size;
+U08 highbyte, lowbyte;
+	highbyte = w5100_read(S0_RX_RSR0);
+	lowbyte = w5100_read(S0_RX_RSR1);
+	received_size = (highbyte<<8) | lowbyte;
+	
+//	usart_write_str((pU08)"hi:");
+//	usart_write_U08_hex(highbyte);
+//	usart_write_crlf();
+//	
+//	usart_write_str((pU08)"lo:");
+//	usart_write_U08_hex(lowbyte);
+//	usart_write_crlf();
+//	
+//	usart_write_str((pU08)"total:");
+//	usart_write_U16_hex(received_size);
+//	usart_write_crlf();
+	
+//	_delay_ms(200);
+	
+	return received_size;
 }
 
@@ -205,5 +232,5 @@
 {
 U16 readpointer;
-readpointer=w5100_read(S0_RX_RD0);
+readpointer=w5100_read(S0_RX_RD0);		
 readpointer = readpointer << 8;
 readpointer += w5100_read(S0_RX_RD1);
@@ -217,7 +244,6 @@
 U08 high_byte = (value>>8);
 U08 low_byte = value&0x00FF;
+w5100_write(S0_TX_WR0, high_byte);
 w5100_write(S0_TX_WR1, low_byte);
-w5100_write(S0_TX_WR0, high_byte);
-
 }
 
@@ -227,5 +253,4 @@
 U08 high_byte = (value>>8);
 U08 low_byte = value&0x00FF;
-
 w5100_write(S0_RX_RD0, high_byte);
 w5100_write(S0_RX_RD1, low_byte);
@@ -255,4 +280,15 @@
 	U16 start_address =  S0_RX_BASE + offset;
 
+	usart_write_str((pU08)"lrp:");
+	usart_write_U16_hex(last_RX_read_pointer);
+	usart_write_crlf();
+	usart_write_str((pU08)"off:");
+	usart_write_U16_hex(offset);
+	usart_write_crlf();
+	usart_write_str((pU08)"sad:");
+	usart_write_U16_hex(start_address);
+	usart_write_crlf();
+	
+	
 	if ((offset + NumBytes) > (S0_RX_MASK + 1) )  // if data is turned over in RX-mem
 	{
@@ -277,5 +313,10 @@
 
 	// inform W5100 about how much data was read out.
-	set_S0_RX_RD(last_RX_read_pointer + NumBytes);
+	U16 new_read_pointer =  last_RX_read_pointer + NumBytes;
+	usart_write_str((pU08)"nrp:");
+	usart_write_U16_hex(new_read_pointer);
+	usart_write_crlf();
+	
+	set_S0_RX_RD(new_read_pointer);
 	w5100_write ( S0_CR, CR_RECV );
 	
@@ -305,5 +346,22 @@
 U16 w5100_set_TX(U08* string, U16 NumBytes) {
 
-	U16 freesize = get_S0_TX_FSR();
+	U08 repetitions;
+	U16 freesize;
+	U16 last_TX_write_pointer;
+	
+	//usart_write_str((pU08)"S0_IR:");
+	//usart_write_U08_hex( w5100_read(S0_IR) );
+	//usart_write_crlf();
+	
+	freesize = get_S0_TX_FSR();
+	for (repetitions=0 ; repetitions < 3;  ) // increase is *inside the loop* 
+	{
+		if ( freesize != get_S0_TX_FSR()) {
+			 freesize = get_S0_TX_FSR();
+		} else {
+			repetitions++;
+		}
+	}
+	
 	if (freesize == 0)
 	{
@@ -311,21 +369,39 @@
 	}
 	
-	U16 last_TX_write_pointer = get_S0_TX_WR();
+	last_TX_write_pointer = get_S0_TX_WR();
+	for (repetitions=0 ; repetitions < 3;  ) // increase is *inside the loop* 
+	{
+		if ( last_TX_write_pointer != get_S0_TX_WR()) {
+			 last_TX_write_pointer = get_S0_TX_WR();
+		} else {
+			repetitions++;
+		}
+	}
+	
 	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();
+	if (last_samurai != last_TX_write_pointer)
+			usart_write_str((pU08)"Hilfeeeeeeeeeeeeeee\n");
+	
+	//usart_write_crlf();
+	//usart_write_char('|');usart_write_U16_hex( last_TX_write_pointer );
+	//usart_write_char('|');usart_write_U16_hex( offset );
+	//usart_write_char('|');usart_write_U16_hex( start_address );
+	
+	
+	//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();
 	
 
@@ -345,8 +421,8 @@
 		NumBytes = freesize;
 	}
-
+	//usart_write_char('|');usart_write_U16_hex( NumBytes );
+	
 	// now calculate the offset address
 	// calculated according to W5100 datasheet page: 44
-
 	if ((offset + NumBytes) > (S0_RX_MASK + 1) )  // if data is turned over in RX-mem
 	{
@@ -356,9 +432,9 @@
 		{
 			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();
+			//usart_write_str((pU08)"wr:");
+			//usart_write_U16_hex(start_address + i);
+			//usart_write_char(' ');
+			//usart_write_char(string[i]);
+			//usart_write_crlf();
 
 		}
@@ -366,9 +442,9 @@
 		{
 			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();
+			//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();
 
 		}
@@ -379,9 +455,9 @@
 		{
 			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();
+			//usart_write_str((pU08)"wr:");
+			//usart_write_U16_hex(start_address + i);
+			//usart_write_char(' ');
+			//usart_write_char(string[i]);
+			//usart_write_crlf();
 
 		}
@@ -389,11 +465,23 @@
 
 	// 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();
+	U16 new_write_pointer = last_TX_write_pointer + NumBytes;
+	last_samurai = new_write_pointer;
+	
+	
+	set_S0_TX_WR(new_write_pointer);
+	//usart_write_char('|');usart_write_U16_hex( new_write_pointer );
+	
+	//usart_write_char('|');
+	//usart_write_crlf();
+	
+		
+		//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);
+	
+	
 	
 	return NumBytes;
@@ -427,2 +515,9 @@
 }
 
+void eth_write_lf(void) {
+	if (eth_write_index < ETH_WRITE_BUFFER_SIZE) {
+		eth_write_buffer[eth_write_index++] = '\n';
+	}
+	w5100_set_TX(eth_write_buffer, eth_write_index);
+	eth_write_index = 0;
+}
Index: firmware/FSC/src/w5100_spi_interface.h
===================================================================
--- firmware/FSC/src/w5100_spi_interface.h	(revision 11666)
+++ firmware/FSC/src/w5100_spi_interface.h	(revision 11667)
@@ -144,13 +144,19 @@
 // NETWORK SETTING:
 // set GAR to FSC_GATEWAY_ADDRESS
-//#define FSC_GATEWAY_ADDRESS0 0xC0		// 192.33.96.1
-//#define FSC_GATEWAY_ADDRESS1 0x21
-//#define FSC_GATEWAY_ADDRESS2 0x60
-//#define FSC_GATEWAY_ADDRESS3 0x01
-
-#define FSC_GATEWAY_ADDRESS0 0xC0		// 192.168.0.1
-#define FSC_GATEWAY_ADDRESS1 0x21
-#define FSC_GATEWAY_ADDRESS2 0x60
-#define FSC_GATEWAY_ADDRESS3 0x01
+//#define FSC_GATEWAY_ADDRESS0 192		// 192.33.96.1
+//#define FSC_GATEWAY_ADDRESS1 33
+//#define FSC_GATEWAY_ADDRESS2 96
+//#define FSC_GATEWAY_ADDRESS3 1
+
+#define FSC_GATEWAY_ADDRESS0 10
+#define FSC_GATEWAY_ADDRESS1 0
+#define FSC_GATEWAY_ADDRESS2 0
+#define FSC_GATEWAY_ADDRESS3 0
+
+
+//#define FSC_GATEWAY_ADDRESS0 192		// 192.168.0.1
+//#define FSC_GATEWAY_ADDRESS1 168
+//#define FSC_GATEWAY_ADDRESS2 0
+//#define FSC_GATEWAY_ADDRESS3 1
 
 
@@ -162,18 +168,29 @@
 #define FSC_MAC_ADDRESS4 0x22
 #define FSC_MAC_ADDRESS5 0x01
+
 // set SUBR to FSC_SUBNET_MASK
-#define FSC_SUBNET_MASK0 255	//255.255.248.0
+#define FSC_SUBNET_MASK0 255	//255.255.255.0
 #define FSC_SUBNET_MASK1 255
 #define FSC_SUBNET_MASK2 255
 #define FSC_SUBNET_MASK3 0
 // set SIPR to FSC_IP_ADDRESS
-//#define FSC_IP_ADDRESS0 0xC0	// 192.33.99.247
-//#define FSC_IP_ADDRESS1 0x21
-//#define FSC_IP_ADDRESS2 0x63
-//#define FSC_IP_ADDRESS3 0xF7
-#define FSC_IP_ADDRESS0 192	// 192.168.0.2
-#define FSC_IP_ADDRESS1 168
-#define FSC_IP_ADDRESS2 0
-#define FSC_IP_ADDRESS3 2
+
+//#define FSC_IP_ADDRESS0 192	// 192.33.99.247
+//#define FSC_IP_ADDRESS1 33
+//#define FSC_IP_ADDRESS2 99
+//#define FSC_IP_ADDRESS3 247
+
+#define FSC_IP_ADDRESS0 10	
+#define FSC_IP_ADDRESS1 0
+#define FSC_IP_ADDRESS2 128
+#define FSC_IP_ADDRESS3 127
+
+
+//#define FSC_IP_ADDRESS0 192	// 192.168.0.2
+//#define FSC_IP_ADDRESS1 168
+//#define FSC_IP_ADDRESS2 0
+//#define FSC_IP_ADDRESS3 2
+
+
 //------------------------------------------------------------------------------
 // MEM SETTINGS:
@@ -218,5 +235,4 @@
 U16 w5100_set_TX(U08* string, U16 NumBytes);
 
-extern bool w5100_needs_reset;
 extern bool w5100_needs_init;
 extern bool w5100_ready;
@@ -230,2 +246,3 @@
 void eth_write_str( U08* str );
 void eth_writeln_str( U08* str );
+void eth_write_lf(void);
