00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef __COMEDI_HWI_H
00029 #define __COMEDI_HWI_H
00030
00031
00032
00033
00034
00035
00036 class comedi_hwi_dev : public XSM_Hardware{
00037 public:
00038 comedi_hwi_dev();
00039 virtual ~comedi_hwi_dev();
00040
00041 virtual void StoreParameter(void){;};
00042 virtual void RestoreParameter(void){;};
00043 virtual void ExecCmd(int Cmd);
00044 virtual int WaitExec(int data);
00045
00046
00047 virtual long GetMaxPointsPerLine(){ return max_points_per_line; };
00048 virtual long GetMaxLines(){ return -1L; };
00049 virtual long GetMaxChannels(){ return 1L; };
00050
00051 virtual void SetParameter(PARAMETER_SET &hps, int scanflg=FALSE);
00052 virtual void GetParameter(PARAMETER_SET &hps);
00053 virtual size_t ReadData(void *buf, size_t count);
00054 virtual int ReadScanData(int y_index, int num_srcs, Mem2d *m[MAX_SRCS_CHANNELS]);
00055 virtual int ReadProbeData(int nsrcs, int nprobe, int kx, int ky,
00056 Mem2d *m, double scale=1.);
00057 virtual gchar* get_info();
00058
00059 protected:
00060 int ScanningFlg;
00061 int KillFlg;
00062
00063
00064 private:
00065 int max_points_per_line;
00066
00067
00068
00069 };
00070
00071
00072
00073
00074
00075
00076 class comedi_hwi_spm : public comedi_hwi_dev{
00077 public:
00078 comedi_hwi_spm();
00079 virtual ~comedi_hwi_spm();
00080
00081 virtual void PutParameter(void *src, int grp=0);
00082
00083 virtual void SetDxDy(int dx, int dy);
00084 virtual void SetOffset(long x, long y);
00085 virtual void SetNx(long nx);
00086 virtual void SetAlpha(double alpha);
00087
00088 virtual void MovetoXY (long x,long y);
00089 virtual void StartScan2D();
00090 virtual void ScanLineM(int yindex, int xdir, int muxmode,
00091 Mem2d *Mob[MAX_SRCS_CHANNELS], int ix0=0 );
00092 virtual void EndScan2D();
00093 virtual void PauseScan2D();
00094 virtual void ResumeScan2D();
00095 virtual void KillScan2D(){ KillFlg=TRUE; };
00096
00097 private:
00098 DSP_Param dspPar;
00099 };
00100
00101 #endif
00102