diff -u -r QtDMM/src/dmm.cpp QtDMM-abl/src/dmm.cpp
--- QtDMM/src/dmm.cpp	2002-10-15 23:28:30.000000000 +0200
+++ QtDMM-abl/src/dmm.cpp	2003-04-28 20:23:52.000000000 +0200
@@ -286,7 +286,8 @@
     {
       ReadEvent *re = (ReadEvent *)ev;
       
-      if (re->format() != ReadEvent::M9803RContinuous)
+      if (re->format() != ReadEvent::M9803RContinuous &&
+	  re->format() != ReadEvent::Wavetek235Continuous)
       {
         QString tmp = re->string();
 
@@ -338,8 +339,108 @@
         emit value( d_val, val, unit, special, true, re->id() );
 
         m_error = tr( "Connected" ) + " (" + m_name + " @ " + m_device + ")";
-      }
-      else
+
+      } else if (re->format() == ReadEvent::Wavetek235Continuous) {
+	QString parseerror;
+
+	// Char 0 is subtype, and will be handled later
+	
+	// Char 1-4 is value
+	val = QString(re->string()).mid(1, 4);
+	double d_val     = val.toDouble();
+
+	// Char 5 is type
+	// < voltage, 7 resistance, ? 10A, , = mA, > myA
+	switch (re->string()[5]) {
+	case '<':
+	  unit = "V";
+	  break;
+
+	case '7':
+	  unit = "O";
+	  break;
+
+	case '?':
+	  unit = "A"; // 10A
+	  break;
+
+	case '=':
+	  unit = "mA"; // mA
+	  break;
+
+	case '>':
+	  unit = "mA"; // myA
+	  break;
+
+	}
+
+	// Char 6-7 is ??
+
+	// Char 8 is AC/DC, with subtype (range) is set/not set
+	switch (re->string()[8]) {
+	case ';':
+	  special = "DC";
+	  break;
+
+	case '3':
+	  special = "AC";
+	  break;
+
+	case '=': 
+	  special = "DC";
+	  parseerror = "Range not set";
+	  break;
+
+	case '5':
+	  special = "AC";
+	  parseerror = "Range not set";
+	  break;
+
+	default:
+	  parseerror = "Char 8 not understood!";
+	  break;
+	}
+
+	// Char 0 is subtype
+	if (unit == "V") {
+	  switch (re->string()[0]) {
+	  case '0':
+	    d_val /= 1.0E4;
+	    val = val.left(3) + "." + val[3];
+	    unit = "mV";
+	    break;
+
+	  case '1':
+	    d_val /= 1.0E3;
+	    break;
+
+	  case '2':
+	    d_val /= 1.0E2;
+	    break;
+
+	  case '3':
+	    d_val /= 1.0E1;
+	    break;
+	    
+	  case '4':
+	    break;
+
+	  default:
+	    parseerror = "Char 0 not understood";
+	  }
+	} else {
+	  parseerror = "Scale not correct";
+	}
+
+	if (parseerror != "") {
+	  emit error(parseerror);
+	} else {
+	  m_error = tr( "Connected" ) + " (" + m_name + " @ " + m_device + ")";
+	}
+	emit value( d_val, val, unit, special, true, re->id() );
+
+
+      } else 
       {        
         if (re->string()[0] & 0x01)
         {
diff -u -r QtDMM/src/dmmgraph.cpp QtDMM-abl/src/dmmgraph.cpp
--- QtDMM/src/dmmgraph.cpp	2002-10-20 19:06:55.000000000 +0200
+++ QtDMM-abl/src/dmmgraph.cpp	2003-04-28 09:57:39.000000000 +0200
@@ -37,6 +37,7 @@
 
 #include <dmmgraph.h>
 
+#include <stdlib.h> // RedHat needs it
 #include <math.h> // RedHat needs it
 
 #include <iostream>
diff -u -r QtDMM/src/dmmprefs.cpp QtDMM-abl/src/dmmprefs.cpp
--- QtDMM/src/dmmprefs.cpp	2002-10-20 19:06:55.000000000 +0200
+++ QtDMM-abl/src/dmmprefs.cpp	2003-04-28 20:13:32.000000000 +0200
@@ -67,7 +67,8 @@
                               {"*Voltcraft VC 650", 4, 2, 7, 1, 1, 0, 3},
                               {"*Voltcraft VC 635", 3, 3, 7, 1, 1, 0, 3},
                               {"*Voltcraft VC 655", 3, 3, 7, 1, 1, 0, 3},
-                              
+                              {"Wavetek 235", 3, 5, 7, 1, 1, 2, 3},
+
                               {"",0,0,0,0,0,0,0} // End Of List
                             };
 
diff -u -r QtDMM/src/engnumbervalidator.cpp QtDMM-abl/src/engnumbervalidator.cpp
--- QtDMM/src/engnumbervalidator.cpp	2002-10-20 19:06:55.000000000 +0200
+++ QtDMM-abl/src/engnumbervalidator.cpp	2003-04-28 20:24:37.000000000 +0200
@@ -20,6 +20,8 @@
 
 #include <engnumbervalidator.h>
 
+#include <math.h> // RedHat needs it
+
 EngNumberValidator::EngNumberValidator( QWidget *parent, 
                                         const char *name ) :
   QValidator(parent, name )
diff -u -r QtDMM/src/mainwin.cpp QtDMM-abl/src/mainwin.cpp
--- QtDMM/src/mainwin.cpp	2002-10-20 19:12:32.000000000 +0200
+++ QtDMM-abl/src/mainwin.cpp	2003-04-28 11:09:30.000000000 +0200
@@ -298,6 +298,7 @@
          "<tr><td><b>RadioShack</b></td><td>22-805</td></tr>"
          "<tr><td><b>Voltcraft</b></td><td>M-3650D, M-4660, ME-11, ME-22T, ME-32 and VC&nbsp;670</td></tr>"
          "<tr><td colspan=2>Implemented, but not yet confirmed by a user are:</td></tr>"
+         "<tr><td><b>Wavetek</b></td><td>235</td></tr>"
          "<tr><td><b>Voltcraft</b></td><td>ME-42, M-3860, M-4660A, M-4660M, MXD-4660A, VC&nbsp;630, VC&nbsp;650"
          ", VC&nbsp;635 and VC&nbsp;655</td></tr></table>"
          "Other compatible models may work also.<p>"
diff -u -r QtDMM/src/readerthread.cpp QtDMM-abl/src/readerthread.cpp
--- QtDMM/src/readerthread.cpp	2002-10-13 17:48:42.000000000 +0200
+++ QtDMM-abl/src/readerthread.cpp	2003-04-28 20:13:53.000000000 +0200
@@ -162,6 +162,8 @@
     return 15;
   case ReadEvent::M9803RContinuous:
     return 11;
+  case ReadEvent::Wavetek235Continuous:
+    return 11;
   case ReadEvent::PeakTech10:
     return 12;
   }
@@ -191,6 +193,10 @@
   {
     readM9803RContinuous();
   }
+  else if (m_format == ReadEvent::Wavetek235Continuous)
+  {
+    readWavetek235Continuous();
+  }
   else if (m_format == ReadEvent::PeakTech10)
   {
     readPeakTech10();
@@ -218,6 +224,11 @@
     if (m_fifo[(m_length-1+FIFO_LENGTH)%FIFO_LENGTH] == 0x0d && 
         m_fifo[m_length] == 0x0a) return true; 
   }
+  else if (m_format == ReadEvent::Wavetek235Continuous && m_length >= 10)
+  {
+    if (m_fifo[(m_length-1+FIFO_LENGTH)%FIFO_LENGTH] == 0x0d && 
+        m_fifo[m_length] == 0x0a) return true; 
+  }
   else if (m_format == ReadEvent::PeakTech10 && m_length >= 11)
   {
     if (m_fifo[(m_length-11+FIFO_LENGTH)%FIFO_LENGTH] == '#') return true; 
@@ -253,6 +264,11 @@
 }
 
 void
+ReaderThread::readWavetek235Continuous()
+{
+}
+
+void
 ReaderThread::readPeakTech10()
 {
 /*  char byte;
diff -u -r QtDMM/src/readerthread.h QtDMM-abl/src/readerthread.h
--- QtDMM/src/readerthread.h	2002-10-13 17:48:42.000000000 +0200
+++ QtDMM-abl/src/readerthread.h	2003-04-28 19:08:10.000000000 +0200
@@ -72,6 +72,7 @@
   void readVoltcraft14Continuous();
   void readVoltcraft15Continuous();
   void readM9803RContinuous();
+  void readWavetek235Continuous();
   void readPeakTech10();
   
   int formatLength() const;
diff -u -r QtDMM/src/readevent.h QtDMM-abl/src/readevent.h
--- QtDMM/src/readevent.h	2002-10-11 22:05:39.000000000 +0200
+++ QtDMM-abl/src/readevent.h	2003-04-28 10:50:44.000000000 +0200
@@ -32,7 +32,8 @@
     PeakTech10,
     Voltcraft14Continuous,
     Voltcraft15Continuous,
-    M9803RContinuous
+    M9803RContinuous,
+    Wavetek235Continuous
   };
     
   ReadEvent( char *str, int len, int id, DataFormat df );
diff -u -r QtDMM/src/uidmmprefs.ui QtDMM-abl/src/uidmmprefs.ui
--- QtDMM/src/uidmmprefs.ui	2002-10-20 18:03:17.000000000 +0200
+++ QtDMM-abl/src/uidmmprefs.ui	2003-04-28 11:03:21.000000000 +0200
@@ -531,6 +531,12 @@
                             <string>11 bytes binary, continuous (M9803R)</string>
                         </property>
                     </item>
+                    <item>
+                        <property>
+                            <name>text</name>
+                            <string>11 bytes binary, continuous (Wavetek)</string>
+                        </property>
+                    </item>
                     <property stdset="1">
                         <name>name</name>
                         <cstring>protocolCombo</cstring>

