00001 /* 00002 * $RCSfile: USB_DA12_8E_Family.hpp,v $ 00003 * $Revision: 1.5 $ 00004 * $Date: 2009/12/23 22:39:10 $ 00005 * jEdit:tabSize=4:indentSize=4:collapseFolds=1: 00006 * 00007 * class USB_DA12_8E_Family declarations 00008 */ 00009 00010 #if ! defined( USB_DA12_8E_Family_hpp ) 00011 #define USB_DA12_8E_Family_hpp 00012 00013 // {{{ includes 00014 #include <USBDevice.hpp> 00015 #include <DA12_AnalogOutputSubsystem.hpp> 00016 #include <DigitalIOSubsystem.hpp> 00017 // }}} 00018 00019 namespace AIOUSB { 00020 00034 class USB_DA12_8E_Family : public USBDevice { 00035 friend class USBDeviceManager; 00036 00037 // {{{ static members 00038 private: 00039 static IntArray supportedProductIDs; 00040 00041 static void initialize(); 00042 // }}} 00043 00044 // {{{ protected members 00045 protected: 00046 DA12_AnalogOutputSubsystem analogOutputSubsystem; 00047 // }}} 00048 00049 // {{{ protected methods 00050 protected: 00051 USB_DA12_8E_Family( int productID, int deviceIndex ); 00052 virtual ~USB_DA12_8E_Family(); 00053 // }}} 00054 00055 // {{{ public methods 00056 public: 00057 00058 /* 00059 * properties 00060 */ 00061 00062 static StringArray getSupportedProductNames(); 00063 static IntArray getSupportedProductIDs(); 00064 static bool isSupportedProductID( int productID ); 00065 virtual std::ostream &print( std::ostream &out ); 00066 00067 /* 00068 * subsystems 00069 */ 00070 00076 DA12_AnalogOutputSubsystem &dac() { 00077 return analogOutputSubsystem; 00078 } // adc() 00079 00080 // }}} 00081 00082 }; // class USB_DA12_8E_Family 00083 00084 } // namespace AIOUSB 00085 00086 #endif 00087 00088 /* end of file */