diff -uNr orig-src/commif_t.cpp src/commif_t.cpp --- orig-src/commif_t.cpp 2011-02-25 16:57:14.000000000 +0100 +++ src/commif_t.cpp 2011-03-03 21:17:11.000000000 +0100 @@ -3692,16 +3692,8 @@ else (void)putchar(2); //Send dumptye 2 (CSV) -> 3 is ASCII but also triggered by marker = 'A' - for (idx = 0; idx < 16384; idx++) - { - putchar(SIGNAL1[idx]); - putchar(SIGNAL2[idx]); - putchar(SIGNAL3[idx]); - putchar(SIGNAL4[idx]); - } - - - + putchar(40); // parameter header size + // send actual DSO parameters putchar((char)NumberOfChannels); // 2 or 4 channels @@ -3734,6 +3726,27 @@ putchar((char)(MenuStatus[MENU_HARDWARE][1]-230)); // Pre Gain putchar(RealTimebase); // real timebase for sample rate + + #define OUTUINT16(x) { putchar(((int)(x))/256); putchar(((int)(x))%256); } + + OUTUINT16(Virtual_ZeroLevelCH1 + 1000); // virtual zero level ch1-4 as uint16 + OUTUINT16(Virtual_ZeroLevelCH2 + 1000); // we add 1000 to make sure we're using + OUTUINT16(Virtual_ZeroLevelCH3 + 1000); // positive values only, which makes + OUTUINT16(Virtual_ZeroLevelCH4 + 1000); // things easier + + OUTUINT16(ScaleFactor[Selected_Voltage_CH1][GainIdx]*1000); // scale factors ch1-4 converted from float + OUTUINT16(ScaleFactor[Selected_Voltage_CH2][GainIdx]*1000); // via multiplication with 1000 to uint16 + OUTUINT16(ScaleFactor[Selected_Voltage_CH3][GainIdx]*1000); + OUTUINT16(ScaleFactor[Selected_Voltage_CH4][GainIdx]*1000); + + // send trace data + for (idx = 0; idx < ((RealTimebase < 9) ? 16384 : 4096); idx++) // 16kSa vs. 4kSa. timebases + { + if (Channel_1_Active) putchar(SIGNAL1[idx]); + if (Channel_2_Active) putchar(SIGNAL2[idx]); + if (Channel_3_Active) putchar(SIGNAL3[idx]); + if (Channel_4_Active) putchar(SIGNAL4[idx]); + } rle_enc(0,2); } diff -uNr orig-src/tc_vars.cpp src/tc_vars.cpp --- orig-src/tc_vars.cpp 2011-02-25 13:20:51.000000000 +0100 +++ src/tc_vars.cpp 2011-03-03 20:33:16.000000000 +0100 @@ -9,8 +9,8 @@ unsigned long tc_version = 0x00000001; // Factory version 1 unsigned long tc_subversion = 0x00000002; // Factory subversion 2 unsigned long tc_dev_version = 0x00000002; // Developer version -unsigned long tc_dev_subversion = 0x0000000D; // Developer subversion -char tc_compilation[6] = {""}; // Compilation +unsigned long tc_dev_subversion = 0x0000000E; // Developer subversion +char tc_compilation[6] = {"nevm"}; // Compilation unsigned long tc_hw_sw_version = 0x00000000; // Type 0 = W2012 1 = W2014 2 = W2022 3 = W2024 unsigned long tc_hw_version = 0x00000000; // Hardware version diff -uNr orig-src/userif_t.cpp src/userif_t.cpp --- orig-src/userif_t.cpp 2011-02-24 18:44:23.000000000 +0100 +++ src/userif_t.cpp 2011-02-27 03:14:51.000000000 +0100 @@ -641,6 +641,20 @@ MenuButtonCheck(-1); + + if (Active_Menu == 10) { + #define ACTIVE(x) (MenuStatus[MENU_TIMEBASE][x] == 241) + #define DISABLED(x) (MenuStatus[MENU_TIMEBASE][x] == 246) + + if (ACTIVE(0) && !DISABLED(1)) { + F2_Btnhandler(); + return; + } else if ((ACTIVE(1) || ACTIVE(2)) && !DISABLED(0)) { + F1_Btnhandler(); + return; + } + } + if (MenuPopupActive > -1) { Display::DRAWMENUPOPDOWN(); } New_Menu = 10; @@ -743,6 +757,12 @@ if (RC_request) return; MenuButtonCheck(-1); + + if (Active_Menu == 14) { + F1_Btnhandler(); + return; + } + if (MenuPopupActive > -1) { Display::DRAWMENUPOPDOWN(); } TriggerWay = TRIG_EDGE; @@ -775,6 +795,12 @@ if (RC_request) return; MenuButtonCheck(-1); + + if (Active_Menu == 15) { + F3_Btnhandler(); + return; + } + if (MenuPopupActive > -1) { Display::DRAWMENUPOPDOWN(); } New_Menu = 15;