KAME: C++ program for laboratory measurement
Main Page
Related Pages
Classes
Files
File List
modules
dso
lecroy.h
1
/***************************************************************************
2
Copyright (C) 2002-2015 Kentaro Kitagawa
3
kitagawa@phys.s.u-tokyo.ac.jp
4
5
This program is free software; you can redistribute it and/or
6
modify it under the terms of the GNU Library General Public
7
License as published by the Free Software Foundation; either
8
version 2 of the License, or (at your option) any later version.
9
10
You should have received a copy of the GNU Library General
11
Public License and a list of authors along with this program;
12
see the files COPYING and AUTHORS.
13
***************************************************************************/
14
#ifndef lecroyH
15
#define lecroyH
16
17
#include "dso.h"
18
#include "chardevicedriver.h"
19
//---------------------------------------------------------------------------
20
21
//! Lecroy/Iwatsu DSO
22
class
XLecroyDSO
:
public
XCharDeviceDriver
<XDSO> {
23
public
:
24
XLecroyDSO
(
const
char
*name,
bool
runtime,
25
Transaction
&tr_meas,
const
shared_ptr<XMeasure> &meas);
26
~
XLecroyDSO
() {}
27
//! Converts the raw to a display-able style.
28
virtual
void
convertRaw
(
RawDataReader
&reader,
Transaction
&tr)
throw
(
XRecordError
&);
29
protected
:
30
virtual
void
onTrace1Changed(
const
Snapshot
&shot,
XValueNodeBase
*);
31
virtual
void
onTrace2Changed(
const
Snapshot
&shot,
XValueNodeBase
*);
32
virtual
void
onTrace3Changed(
const
Snapshot
&shot,
XValueNodeBase
*);
33
virtual
void
onTrace4Changed(
const
Snapshot
&shot,
XValueNodeBase
*);
34
virtual
void
onAverageChanged(
const
Snapshot
&shot,
XValueNodeBase
*);
35
virtual
void
onSingleChanged(
const
Snapshot
&shot,
XValueNodeBase
*);
36
virtual
void
onTrigSourceChanged(
const
Snapshot
&shot,
XValueNodeBase
*);
37
virtual
void
onTrigPosChanged(
const
Snapshot
&shot,
XValueNodeBase
*);
38
virtual
void
onTrigLevelChanged(
const
Snapshot
&shot,
XValueNodeBase
*);
39
virtual
void
onTrigFallingChanged(
const
Snapshot
&shot,
XValueNodeBase
*);
40
virtual
void
onTimeWidthChanged(
const
Snapshot
&shot,
XValueNodeBase
*);
41
virtual
void
onVFullScale1Changed(
const
Snapshot
&shot,
XValueNodeBase
*);
42
virtual
void
onVFullScale2Changed(
const
Snapshot
&shot,
XValueNodeBase
*);
43
virtual
void
onVFullScale3Changed(
const
Snapshot
&shot,
XValueNodeBase
*);
44
virtual
void
onVFullScale4Changed(
const
Snapshot
&shot,
XValueNodeBase
*);
45
virtual
void
onVOffset1Changed(
const
Snapshot
&shot,
XValueNodeBase
*);
46
virtual
void
onVOffset2Changed(
const
Snapshot
&shot,
XValueNodeBase
*);
47
virtual
void
onVOffset3Changed(
const
Snapshot
&shot,
XValueNodeBase
*);
48
virtual
void
onVOffset4Changed(
const
Snapshot
&shot,
XValueNodeBase
*);
49
virtual
void
onRecordLengthChanged(
const
Snapshot
&shot,
XValueNodeBase
*);
50
virtual
void
onForceTriggerTouched(
const
Snapshot
&shot,
XTouchableNode
*);
51
52
//! Be called just after opening interface. Call start() inside this routine appropriately.
53
virtual
void
open
()
throw
(
XKameError
&);
54
55
virtual
double
getTimeInterval();
56
//! clear count or start sequence measurement
57
virtual
void
startSequence
();
58
virtual
int
acqCount
(
bool
*seq_busy);
59
60
//! Loads waveforms and settings from the instrument.
61
virtual
void
getWave
(shared_ptr<RawData> &writer, std::deque<XString> &channels);
62
private
:
63
void
activateTrace(
const
char
*name);
64
double
inspectDouble(
const
char
*req,
const
XString
&trace);
65
bool
isWaveMaster();
66
int
m_totalCount;
67
};
68
69
#endif
Generated for
KAME4
by
1.8.3