00001 /* 00002 * $RCSfile: AnalogOutputSubsystem.hpp,v $ 00003 * $Revision: 1.11 $ 00004 * $Date: 2010/01/29 23:49:53 $ 00005 * jEdit:tabSize=4:collapseFolds=1: 00006 * 00007 * class AnalogOutputSubsystem declarations 00008 */ 00009 00010 #if ! defined( AnalogOutputSubsystem_hpp ) 00011 #define AnalogOutputSubsystem_hpp 00012 00013 // {{{ includes 00014 #include <DeviceSubsystem.hpp> 00015 // }}} 00016 00017 namespace AIOUSB { 00018 00026 class AnalogOutputSubsystem : public DeviceSubsystem { 00027 00028 // {{{ protected members 00029 protected: 00030 int numChannels; // number of D/A channels 00031 int minCounts; // minimum counts D/A can output (typically 0) 00032 int maxCounts; // maximum counts D/A can output (typically 0xfff or 0xffff) 00033 // }}} 00034 00035 // {{{ protected methods 00036 protected: 00037 AnalogOutputSubsystem( USBDevice &parent ); 00038 virtual ~AnalogOutputSubsystem(); 00039 // }}} 00040 00041 // {{{ public methods 00042 public: 00043 00044 /* 00045 * properties 00046 */ 00047 00048 virtual std::ostream &print( std::ostream &out ); 00049 00055 int getNumChannels() const { 00056 return numChannels; 00057 } // getNumChannels() 00058 00059 /* 00060 * operations 00061 */ 00062 00063 AnalogOutputSubsystem &writeCounts( int channel, unsigned short counts ); 00064 AnalogOutputSubsystem &writeCounts( const UShortArray &points ); 00065 00066 // }}} 00067 00068 }; // class AnalogOutputSubsystem 00069 00070 } // namespace AIOUSB 00071 00072 #endif 00073 00074 /* end of file */