メインページ | ネームスペース一覧 | クラス階層 | 構成 | Directories | ファイル一覧 | ネームスペースメンバ | 構成メンバ | ファイルメンバ | 関連ページ

DRUsbH8Simple.h

00001 #if !defined(AFX_DRUSBH8_H__618658E7_7169_4BF7_A25E_562BC6BDEE17__INCLUDED_)
00002 #define AFX_DRUSBH8_H__618658E7_7169_4BF7_A25E_562BC6BDEE17__INCLUDED_
00003 #if _MSC_VER > 1000
00004 #pragma once
00005 #endif // _MSC_VER > 1000
00006 
00007 #include "DVCounterBase.h"
00008 #include "DVDaBase.h"
00009 #include "DRRealDevice.h"
00010 #include <WinBasis/WBWin.h>
00011 
00012 namespace Spr {
00013 
00014 /// CyverseのUSB8軸モータドライバH8版のドライバ.
00015 class SPR_DLL DRUsbH8Simple:public DRRealDevice
00016 {
00017 public:
00018     /// 仮想デバイス
00019     class VirtualDeviceDa:public DVDaBase{
00020     protected:
00021         int ch;
00022         DRUsbH8Simple* realDevice;
00023         char name[100];
00024     public:
00025         VirtualDeviceDa(DRUsbH8Simple* r, int c);
00026         virtual DRRealDevice* RealDevice() { return realDevice; }
00027         virtual void Voltage(float v){ realDevice->Voltage(ch, v); }
00028         virtual void Digit(int v){ realDevice->Digit(ch, v); }
00029         virtual const char* Name() const{ return name; }
00030     };
00031     class VirtualDeviceCounter:public DVCounterBase{
00032     protected:
00033         int ch;
00034         DRUsbH8Simple* realDevice;
00035         char name[100];
00036     public:
00037         VirtualDeviceCounter(DRUsbH8Simple* r, int c);
00038         virtual DRRealDevice* RealDevice() { return realDevice; }
00039         /// カウンタ値の設定
00040         virtual void Count(long c){ realDevice->Count(ch, c); }
00041         /// カウンタ値の読み出し
00042         virtual long Count(){ return realDevice->Count(ch); }
00043         /// 名前
00044         virtual const char* Name() const{ return name; }
00045     };
00046 //----------------------------------------------------------------------------
00047 protected:
00048     char name[100];
00049     int channel;
00050     HANDLE hSpidar;
00051     
00052     int sign[8];
00053     long count[8];
00054     long countOffset[8];
00055     int daOut[8];
00056 public:
00057     DRUsbH8Simple(int ch);
00058     /// デバイスの名前
00059     virtual const char* Name() const { return name; }
00060     /// 初期化
00061     virtual bool Init();
00062     /// 仮想デバイスの登録
00063     virtual void Register(DVVirtualDevicePool& vpool);
00064 
00065     /// 電圧出力
00066     void Voltage(int ch, float v);
00067     /// 電圧出力(数値)
00068     void Digit(int ch, int v);
00069     /// カウンタ値の設定
00070     void Count(int ch, long c);
00071     /// カウンタ値の読み出し
00072     long Count(int ch);
00073     /// 状態の更新
00074     virtual void Update();
00075 };
00076 
00077 }   //  namespace Spr;
00078 
00079 #endif // !defined(AFX_DRUSBH8_H__618658E7_7169_4BF7_A25E_562BC6BDEE17__INCLUDED_)

Springheadに対してSun Apr 16 01:57:50 2006に生成されました。  doxygen 1.4.1