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 __LAN_RHK_HWI_H
00029 #define __LAN_RHK_HWI_H
00030
00031
00032
00033
00034
00035
00036 class LAN_rhk_hwi_dev : public XSM_Hardware {
00037 public:
00038 LAN_rhk_hwi_dev();
00039 virtual ~LAN_rhk_hwi_dev();
00040
00041 int SendCommand(char *);
00042 int ReceiveData(char *, int n);
00043 virtual void StoreParameter(void){;};
00044 virtual void RestoreParameter(void){;};
00045 virtual void ExecCmd(int Cmd);
00046 virtual int WaitExec(int data);
00047
00048
00049 virtual long GetMaxPointsPerLine(){ return max_points_per_line; };
00050 virtual long GetMaxLines(){ return -1L; };
00051 virtual long GetMaxChannels(){ return 1L; };
00052
00053 virtual void SetParameter(PARAMETER_SET &hps, int scanflg=FALSE);
00054 virtual void GetParameter(PARAMETER_SET &hps);
00055 virtual size_t ReadData(void *buf, size_t count);
00056 virtual int ReadScanData(int y_index, int num_srcs, Mem2d *m[MAX_SRCS_CHANNELS]);
00057 virtual int ReadProbeData(int nsrcs, int nprobe, int kx, int ky,
00058 Mem2d *m, double scale=1.);
00059 virtual gchar* get_info();
00060
00061 protected:
00062 int ScanningFlg;
00063 int KillFlg;
00064
00065
00066 private:
00067 int max_points_per_line;
00068 int socket_descriptor;
00069 };
00070
00071
00072
00073
00074
00075
00076 class LAN_rhk_hwi_spm : public LAN_rhk_hwi_dev{
00077 public:
00078 LAN_rhk_hwi_spm();
00079 virtual ~LAN_rhk_hwi_spm();
00080 virtual void PutParameter(void *src, int grp);
00081 virtual void ExecCmd(int Cmd);
00082 virtual void SetDxDy(int dx, int dy);
00083 virtual void SetOffset(long x, long y);
00084 virtual void SetNx(long nx);
00085 virtual void SetAlpha(double alpha);
00086
00087 virtual void MovetoX(long x);
00088 virtual void MovetoY(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 SCAN_DATA ScanData;
00099
00100
00101 };
00102
00103
00104 #endif
00105