Index: firmware/FSC/src/parser.c
===================================================================
--- firmware/FSC/src/parser.c	(revision 10697)
+++ firmware/FSC/src/parser.c	(revision 10910)
@@ -41,5 +41,5 @@
 		case 'g':			// GET the voltage/current/humidity channels, which are enabled
 			once_told_you = false;
-			for ( U08 i=0; i<VOLTAGE_CHANNELS/8; ++i ) {
+			for ( U08 i=0; i<VOLTAGE_REGS; ++i ) {
 				adc_channels_ready[i]=0;
 			}
@@ -107,5 +107,5 @@
 }
 */
-/*
+
 
 // this is the recent MSR parser
@@ -242,13 +242,12 @@
 			case 'G': 			// GET the Temperature channels, which are enabled
 				ad7719_values_printed = false;
-				for ( U08 i=0; i<RESISTANCE_CHANNELS/8; ++i ) {
-					ad7719_channels_ready[i]=0;
-				}
-				break;
+				reset_resistance_done();
+				reset_resistance_values();				
+				break;
+				
 			case 'g':			// GET the voltage/current/humidity channels, which are enabled
 				adc_values_printed = false;
-				for ( U08 i=0; i<VOLTAGE_CHANNELS/8; ++i ) {
-					adc_channels_ready[i]=0;
-				}
+				reset_voltage_done();
+				reset_voltage_values();
 				break;
 
@@ -264,17 +263,21 @@
 					ad7719_print_endless = false;
 				break;		
+			
+			case 's':
+				print_status();
+				//print_adc_enable_status(true);
+				//usart_write_char('\n');
+
+				//print_ad7719_enable_status(true);
+				//usart_write_char('\n');
+			
+				//usart_write_str((pU08)"time:");
+				//usart_write_float((float)local_ms/1000 , 1,7);
+				//usart_write_str((pU08)" sec.\n");
+				break;	
 				
-
-			case 's':			
-				print_adc_enable_status(true);
-				usart_write_char('\n');
-
-				print_ad7719_enable_status(true);
-				usart_write_char('\n');
-			
-				usart_write_str((pU08)"time:");
-				usart_write_float((float)local_ms/1000 , 1,7);
-				usart_write_str((pU08)" sec.\n");
-				break;	
+			case 'S':
+				write_status_via_eth();
+				break;
 
 			case '!':
@@ -306,5 +309,5 @@
 }	// END of MSR_parser();
 
-*/
+
 
 ///////////////////////////////////////////////////////////////////////////////////////
@@ -342,5 +345,6 @@
 		case 's':	// return *s*tatus information
 			// this might take a lot of time... about... 25us per byte .. --> less than 25ms
-			w5100_set_TX(FSCregister, FSC_REGISTER_LENGTH);
+			write_status_via_eth();
+			//w5100_set_TX(FSCregister, FSC_REGISTER_LENGTH);
 			break;
 			
@@ -372,9 +376,22 @@
 	}
 }
+void reset_resistance_values(){
+	for (U08 i=0; i < RESISTANCE_CHANNELS; i++){
+		ad7719_values[i] = 0;
+	}
+}
+
+
 void reset_voltage_done(){
-	for (U08 i=0; i < (VOLTAGE_CHANNELS/8); i++){
+	for (U08 i=0; i < (VOLTAGE_REGS); i++){
 		adc_channels_ready[i] = 0;
 	}
 }
+void reset_voltage_values(){
+	for (U08 i=0; i < VOLTAGE_CHANNELS; i++){
+		adc_values[i] = 0;
+	}
+}
+
 void reset_done(){
 	reset_resistance_done();
@@ -387,2 +404,73 @@
 	w5100_set_TX(eth_write_buffer, 2); 
 }
+
+void write_status_via_eth() {
+	// take care: ethernet write buffer is just 32 bytes long.
+	eth_write_str("status: "); 				eth_writeln_str(nc_U32_to_hex(status));
+	// better switch off interrupts here:
+	// 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));
+	sei();
+	
+	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++){
+			eth_write_str(nc_U08_to_bin(adc_enables[i]));
+			// need to tweak here in order to get some nice spaces...
+			eth_write_buffer[eth_write_index] = ' ';
+			eth_write_index++;
+		}
+		eth_writeln_str(nc_U08_to_bin(adc_enables[4]));
+		
+		eth_write_str("  done:"); 				
+		for (U08 i=0; i<4 ; i++){
+			eth_write_str(nc_U08_to_bin(adc_channels_ready[i]));
+			// need to tweak here in order to get some nice spaces...
+			eth_write_buffer[eth_write_index] = ' ';
+			eth_write_index++;
+		}
+		eth_writeln_str(nc_U08_to_bin(adc_channels_ready[4]));
+
+		eth_write_str("values:"); 				
+		for (U08 i=0; i<73 ; i++){
+			eth_write_str(nc_U16_to_str(adc_values[i], 6) );
+			// 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_writeln_str("RESISTANCES\n");
+		eth_write_str("enable:"); 				
+		for (U08 i=0; i<7 ; i++){
+			eth_write_str(nc_U08_to_bin(ad7719_enables[i]));
+			// need to tweak here in order to get some nice spaces...
+			eth_write_buffer[eth_write_index] = ' ';
+			eth_write_index++;
+		}
+		eth_writeln_str(nc_U08_to_bin(ad7719_enables[7]));
+		
+		eth_write_str("  done:"); 				
+		for (U08 i=0; i<7 ; i++){
+			eth_write_str(nc_U08_to_bin(ad7719_channels_ready[i]));
+			// need to tweak here in order to get some nice spaces...
+			eth_write_buffer[eth_write_index] = ' ';
+			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) );
+			// need to tweak here in order to get some nice spaces...
+			eth_write_buffer[eth_write_index] = ' ';
+			eth_write_index++;
+		}
+		eth_writeln_str(nc_U32_to_str(ad7719_values[63], 10) );
+		
+
+}
