Index: /trunk/MagicSoft/AMC/activemirrorcontrol/activemirrorcontrol/amcserialport.cpp
===================================================================
--- /trunk/MagicSoft/AMC/activemirrorcontrol/activemirrorcontrol/amcserialport.cpp	(revision 4483)
+++ /trunk/MagicSoft/AMC/activemirrorcontrol/activemirrorcontrol/amcserialport.cpp	(revision 4484)
@@ -73,4 +73,5 @@
     newtio.c_iflag = IGNPAR | ICRNL;
     newtio.c_oflag = 0;
+//    newtio.c_oflag = OCRNL;
 
     /* set input mode (non-canonical, no echo, ...) */
@@ -88,4 +89,5 @@
     }
 
+    fcntl( m_fd, F_SETFL, 0);
     return;
 }
@@ -100,4 +102,5 @@
 int AMCSerialPort::readBlock( char* p_pBuffer, int p_iMaxLen )
 {
+//  usleep(1000);
   int num, iTot = 0;
   char* pBuf = p_pBuffer;
@@ -105,14 +108,25 @@
 //	{
 		num = read( m_fd, pBuf, p_iMaxLen );
-//    qDebug("Read %d Bytes", num);
-//    usleep(1000);
-//		if( num == 0)
-//			num = read( m_fd, p_pBuffer, p_iMaxLen );
-//      break;
     pBuf += num;
     iTot += num;
+//    qDebug("Read %d Bytes", num);
+//		if( num == 0) {
+//			num = read( m_fd, pBuf, p_iMaxLen );
+//		    usleep(100);
+// 				break;
+//		    continue;
+//		}
+//		if( iTot == p_iMaxLen) {
+//        break;
+//    }
+//	}
 
-//	}
 //  qDebug("Total read %d Bytes", iTot);
 	return iTot;
 }
+
+/** No descriptions */
+void AMCSerialPort::flush()
+{
+    tcflush( m_fd, TCIOFLUSH );
+}
Index: /trunk/MagicSoft/AMC/activemirrorcontrol/activemirrorcontrol/amcserialport.h
===================================================================
--- /trunk/MagicSoft/AMC/activemirrorcontrol/activemirrorcontrol/amcserialport.h	(revision 4483)
+++ /trunk/MagicSoft/AMC/activemirrorcontrol/activemirrorcontrol/amcserialport.h	(revision 4484)
@@ -37,4 +37,6 @@
   /** No descriptions */
   int readBlock( char* p_pBuffer, int p_iMaxLen );
+  /** No descriptions */
+  void flush();
 
 private: // Private attributes
