71 lines
1.4 KiB
C++
71 lines
1.4 KiB
C++
/* **************************************************************************
|
|
|
|
Author: Achim Gaedke
|
|
Created: June 2004
|
|
|
|
****************************************************************************/
|
|
#ifndef TIEPIEHS3_H
|
|
#define TIEPIEHS3_H
|
|
|
|
#include "drivers/ADC.h"
|
|
|
|
/**
|
|
\defgroup tiepiehs3 TiePie Handyscope3
|
|
\ingroup drivers
|
|
driver for TiePie HS3 oscilloscope card
|
|
@{
|
|
*/
|
|
class TiePieHS3: public ADC {
|
|
/** id of ttl device */
|
|
int trigger_line_id;
|
|
/** mask for ttl state, that triggers the adc */
|
|
unsigned long trigger_line_mask;
|
|
/**
|
|
keep track of required samples per channel
|
|
*/
|
|
size_t samples;
|
|
/**
|
|
keep track of required resolution
|
|
*/
|
|
size_t resolution;
|
|
/**
|
|
keep track of required sensitivity
|
|
*/
|
|
double sensitivity;
|
|
/**
|
|
keep track of required sampling rate
|
|
*/
|
|
double rate;
|
|
/**
|
|
keep track of requested channels
|
|
*/
|
|
unsigned long channels;
|
|
|
|
public:
|
|
TiePieHS3();
|
|
/**
|
|
simple program
|
|
*/
|
|
virtual void sample_after_external_trigger(const double rate, const size_t samples, double sensitivity=5.0, size_t resolution=12);
|
|
|
|
/**
|
|
find the analogin sections, count them and select trigger mode
|
|
*/
|
|
virtual void set_daq(state&);
|
|
|
|
/**
|
|
get samples after a while of waiting
|
|
*/
|
|
virtual result* get_samples(double timeout=0.0);
|
|
|
|
/**
|
|
free all resources
|
|
*/
|
|
virtual ~TiePieHS3();
|
|
};
|
|
/**
|
|
@}
|
|
*/
|
|
|
|
#endif
|