damaris-backends/drivers/TiePie-HS3/TiePie-HS3.h
2014-06-26 11:10:51 +00:00

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