diff -crB QtDMM/src/dmm.cpp /tmp/QtDMM/src/dmm.cpp *** QtDMM/src/dmm.cpp 2009-11-17 18:10:45.000000000 +0100 --- /tmp/QtDMM/src/dmm.cpp 2009-07-18 19:10:42.000000000 +0200 *************** *** 357,365 **** case ReadEvent::RS22812Continuous: readRS22812Continuous( re ); break; - case ReadEvent::PeakTech3315: - readPeakTech3315( re ); - break; } } else --- 357,362 ---- *************** *** 610,616 **** ((in[4] & 0x0f7) == 0x027) && ((in[5] & 0x0f7) == 0x0d7)) { ! val = " 0L "; } else { --- 607,613 ---- ((in[4] & 0x0f7) == 0x027) && ((in[5] & 0x0f7) == 0x0d7)) { ! val = " 0L "; } else { *************** *** 1577,1800 **** return 0; } - - - /** - * Process one data item transfered from a PeakTech 3315 - * device. - * - * Format is according to:http://www.mikrocontroller.net/topic/98208 - * - * Bernd Herd http://www.herdsoft.com/ - */ - void DMM::readPeakTech3315( ReadEvent *re ) - { - QString val; - QString special; - QString unit; - double scale = 1.0; - - // Digit values - const char *pStr = re->string(); - if (pStr[6] & 4) // Sign - { - val = " -"; - } - else - { - val = " "; - } - - val += pStr[1]; - val += pStr[2]; - val += pStr[3]; - val += pStr[4]; - if (!memcmp(pStr+1, "4000", 4) || - (pStr[6] & 1)!=0 ) - { - val = " 0L"; - } - - // Function - switch (pStr[5]) - { - case 0x31: - unit = "D"; - break; - - case 0x3b: - unit = "V"; - switch (pStr[0]) // Range - { - case '0': - unit = "mV"; - scale = 1e-3; - val = insertComma(val, 3); - break; - case '1': - val = insertComma(val, 1); - break; - case '2': - val = insertComma(val, 2); - break; - case '3': - val = insertComma(val, 3); - break; - } - break; - case 0x3d: - unit = "uA"; - scale = 1e-6; - switch (pStr[0]) // Range - { - case '0': - val = insertComma(val, 3); - break; - } - break; - case 0x39: - unit = "mA"; - scale = 1e-3; - switch (pStr[0]) // Range - { - case '0': - val = insertComma(val, 3); - break; - case '1': - val = insertComma(val, 1); - break; - } - break; - case 0x33: - unit = "kOhm"; - switch (pStr[0]) // Range - { - case '0': - unit = "Ohm"; - val = insertComma(val, 3); - break; - case '1': - scale = 1e3; - val = insertComma(val, 1); - break; - case '2': - scale = 1e3; - val = insertComma(val, 2); - break; - case '3': - scale = 1e3; - val = insertComma(val, 3); - break; - case '4': - unit = "MOhm"; - scale = 1e6; - val = insertComma(val, 1); - break; - case '5': - scale = 1e6; - unit = "MOhm"; - val = insertComma(val, 2); - break; - } - break; - case 0x34: - unit = (pStr[6] & 8) ? "C" : "F"; - break; - case 0x3f: - unit = "A"; - val = insertComma(val, 2); - break; - case 0x32: - switch (pStr[0]) // Range - { - case '0': - unit = "kHz"; - scale = 1e3; - val = insertComma(val, 1); - break; - case '1': - unit = "kHz"; - scale = 1e3; - val = insertComma(val, 2); - break; - case '2': - unit = "kHz"; - scale = 1e3; - val = insertComma(val, 3); - break; - case '3': - unit = "MHz"; - scale = 1e6; - val = insertComma(val, 1); - break; - case '4': - unit = "MHz"; - scale = 1e6; - val = insertComma(val, 2); - break; - case '5': - unit = "MHz"; - scale = 1e6; - val = insertComma(val, 3); - break; - } - break; - case 0x36: - switch (pStr[0]) // Range - { - case '0': - unit = "nF"; - scale = 1e-9; - val = insertComma(val, 1); - break; - case '1': - unit = "nF"; - scale = 1e-9; - val = insertComma(val, 2); - break; - case '3': - unit = "nF"; - scale = 1e-9; - val = insertComma(val, 3); - break; - case '4': - unit = "uF"; - scale = 1e-6; - val = insertComma(val, 1); - break; - case '5': - unit = "uF"; - scale = 1e-6; - val = insertComma(val, 2); - break; - case '6': - unit = "uF"; - scale = 1e-6; - val = insertComma(val, 3); - break; - case '7': - unit = "mF"; - scale = 1e-3; - val = insertComma(val, 1); - break; - } - break; - - - } - - if (pStr[8] & 4) - { - special += "AC"; - } - else if (pStr[8] & 8) - { - special += "DC"; - } - - double d_val = val.toDouble() * scale; - - emit value( d_val, val, unit, special, true, re->id() ); - - m_error = tr( "Connected" ) + " (" + m_name + " @ " + m_device + ")"; - } --- 1574,1576 ---- diff -crB QtDMM/src/dmmgraph.cpp /tmp/QtDMM/src/dmmgraph.cpp *** QtDMM/src/dmmgraph.cpp 2009-11-12 19:36:28.000000000 +0100 --- /tmp/QtDMM/src/dmmgraph.cpp 2009-07-18 19:23:15.000000000 +0200 *************** *** 47,54 **** DMMGraph::DMMGraph( QWidget *parent, const char *name ) : QWidget( parent, name ), m_size( 600 ), ! //FIXME m_length( 3600 ), ! m_length( 120 ), /* FIXME */ m_scaleMin( 0 ), m_scaleMax( 0 ), m_autoScale( true ), --- 47,53 ---- DMMGraph::DMMGraph( QWidget *parent, const char *name ) : QWidget( parent, name ), m_size( 600 ), ! m_length( 3600 ), m_scaleMin( 0 ), m_scaleMax( 0 ), m_autoScale( true ), diff -crB QtDMM/src/dmm.h /tmp/QtDMM/src/dmm.h *** QtDMM/src/dmm.h 2009-11-11 18:31:18.000000000 +0100 --- /tmp/QtDMM/src/dmm.h 2009-07-18 19:10:19.000000000 +0200 *************** *** 83,89 **** void readVC940Continuous( ReadEvent * ); void readQM1537Continuous( ReadEvent * ); void readRS22812Continuous( ReadEvent * ); - void readPeakTech3315( ReadEvent * ); const char *vc820Digit( int ); const char *RS22812Digit( int ); --- 83,88 ---- diff -crB QtDMM/src/dmmprefs.cpp /tmp/QtDMM/src/dmmprefs.cpp *** QtDMM/src/dmmprefs.cpp 2009-11-11 19:06:40.000000000 +0100 --- /tmp/QtDMM/src/dmmprefs.cpp 2009-07-18 19:01:44.000000000 +0200 *************** *** 49,55 **** // 7: VC940 // 8: QM1537 // 9: 9 binary bytes continuous (22-812) - // 10: 11 bytes continuous [Peaktech 3315] // bits // stopBits // number of values (For DMM's that send several lines at once) --- 49,54 ---- *************** *** 96,102 **** {"Metex universal system 9160", 1, 0, 7, 2, 4, 0, 1, 0}, {"PeakTech 3330", 3, 5, 8, 1, 1, 0, 1, 0}, - {"PeakTech 3315", 3, 10, 7, 1, 1, 0, 1, 0}, {"PeakTech 4010", 5, 0, 7, 2, 1, 0, 1, 0}, {"PeakTech 4015A", 5, 0, 7, 2, 4, 0, 4, 0}, {"PeakTech 4360", 0, 0, 7, 2, 1, 0, 1, 0}, --- 95,100 ---- diff -crB QtDMM/src/readerthread.cpp /tmp/QtDMM/src/readerthread.cpp *** QtDMM/src/readerthread.cpp 2009-11-11 19:46:51.000000000 +0100 --- /tmp/QtDMM/src/readerthread.cpp 2007-12-25 12:40:26.000000000 +0100 *************** *** 132,138 **** { m_fifo[m_length] = byte; ! /*FIXME*/fprintf( stderr, "READ: %02X - %02X %d\n", (unsigned)byte, (unsigned)byte & 0xf0, m_length ); if (checkFormat()) { --- 132,138 ---- { m_fifo[m_length] = byte; ! //fprintf( stderr, "READ: %02X - %02X %d\n", (unsigned)byte, (unsigned)byte & 0xf0, m_length ); if (checkFormat()) { *************** *** 187,194 **** return 14; case ReadEvent::RS22812Continuous: return 9; - case ReadEvent::PeakTech3315: - return 11; } return 0; --- 187,192 ---- *************** *** 492,502 **** } } } - else if (m_format == ReadEvent::PeakTech3315) - { - if (m_fifo[(m_length-1+FIFO_LENGTH)%FIFO_LENGTH] == 0x0d && - m_fifo[m_length] == 0x0a) return true; - } return false; } --- 490,495 ---- diff -crB QtDMM/src/readevent.h /tmp/QtDMM/src/readevent.h *** QtDMM/src/readevent.h 2009-11-11 18:25:38.000000000 +0100 --- /tmp/QtDMM/src/readevent.h 2007-12-25 12:39:04.000000000 +0100 *************** *** 37,44 **** IsoTech, VC940Continuous, QM1537Continuous, ! RS22812Continuous, ! PeakTech3315 }; ReadEvent( char *str, int len, int id, DataFormat df ); --- 37,43 ---- IsoTech, VC940Continuous, QM1537Continuous, ! RS22812Continuous }; ReadEvent( char *str, int len, int id, DataFormat df );