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

DRADAPIO.h

00001 #ifndef DRADAPIO_H
00002 #define DRADAPIO_H
00003 
00004 #include "DRRealDevice.h"
00005 #include "DVDaBase.h"
00006 #include "DVAdBase.h"
00007 #include "tuadapio.h"
00008 
00009 namespace Spr {
00010 
00011 /// タートル工業のA/D・D/A・PIO用のドライバ.
00012 class SPR_DLL DRAdapio:public DRRealDevice{
00013 public:
00014     /// 仮想デバイス
00015     class DVDA:public DVDaBase{
00016     protected:
00017         int ch;
00018         DRAdapio* realDevice;
00019         char name[100];
00020     public:
00021         DVDA(DRAdapio* r, int c);
00022         virtual DRRealDevice* RealDevice() { return realDevice; }
00023         virtual void Voltage(float v){ realDevice->DAVoltage(ch, v); }
00024         virtual void Digit(int d){ realDevice->DADigit(ch, d); }
00025         virtual const char* Name() const{ return name; }
00026     };
00027     class DVAD:public DVAdBase{
00028     protected:
00029         int ch;
00030         DRAdapio* realDevice;
00031         char name[100];
00032     public:
00033         DVAD(DRAdapio* r, int c);
00034         virtual DRRealDevice* RealDevice() { return realDevice; }
00035         virtual int Digit(){ return realDevice->ADDigit(ch); }
00036         virtual float Voltage(){ return realDevice->ADVoltage(ch); }
00037         virtual const char* Name() const{ return name; }
00038     };
00039 protected:
00040     char name[100];
00041     int id;
00042 public:
00043     /** コンストラクタ
00044         @param id       ADAPIOが複数ある場合,何番目のデバイスかを指定.*/
00045     DRAdapio(int id=0);
00046     virtual ~DRAdapio();
00047     /// デバイスの名前
00048     virtual const char* Name() const { return name; }
00049     /// 初期化
00050     virtual bool Init();
00051     /// 仮想デバイスの登録
00052     virtual void Register(DVVirtualDevicePool& vpool);
00053     /// 電圧出力
00054     void DAVoltage(int ch, float v);
00055     void DADigit(int ch, int d);
00056     /// 電圧入力
00057     float ADVoltage(int ch);
00058     int ADDigit(int ch);
00059     /// 終了処理
00060     virtual void CloseDevice();
00061 };
00062 
00063 
00064 }   //  namespace Spr
00065 
00066 #endif

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