MMDevice 70
Public Member Functions | List of all members
MM::Device Class Referenceabstract

Generic device interface. More...

#include <MMDevice.h>

Inheritance diagram for MM::Device:
MM::AutoFocus MM::Camera MM::Galvo MM::Generic MM::Hub MM::ImageProcessor MM::Magnifier MM::PressurePump MM::SLM MM::Serial MM::Shutter MM::SignalIO MM::Stage MM::State MM::VolumetricPump MM::XYStage

Public Member Functions

virtual unsigned GetNumberOfProperties () const =0
 
virtual int GetProperty (const char *name, char *value) const =0
 
virtual int SetProperty (const char *name, const char *value)=0
 
virtual bool HasProperty (const char *name) const =0
 
virtual bool GetPropertyName (unsigned idx, char *name) const =0
 
virtual int GetPropertyReadOnly (const char *name, bool &readOnly) const =0
 
virtual int GetPropertyInitStatus (const char *name, bool &preInit) const =0
 
virtual int HasPropertyLimits (const char *name, bool &hasLimits) const =0
 
virtual int GetPropertyLowerLimit (const char *name, double &lowLimit) const =0
 
virtual int GetPropertyUpperLimit (const char *name, double &hiLimit) const =0
 
virtual int GetPropertyType (const char *name, MM::PropertyType &pt) const =0
 
virtual unsigned GetNumberOfPropertyValues (const char *propertyName) const =0
 
virtual bool GetPropertyValueAt (const char *propertyName, unsigned index, char *value) const =0
 
virtual int IsPropertySequenceable (const char *name, bool &isSequenceable) const =0
 Check whether the given property can be used with sequences.
 
virtual int GetPropertySequenceMaxLength (const char *propertyName, long &nrEvents) const =0
 Return the largest sequence that can be stored in the device.
 
virtual int StartPropertySequence (const char *propertyName)=0
 Start execution of the sequence.
 
virtual int StopPropertySequence (const char *propertyName)=0
 Stop execution of the sequence.
 
virtual int ClearPropertySequence (const char *propertyName)=0
 Remove previously added sequence.
 
virtual int AddToPropertySequence (const char *propertyName, const char *value)=0
 Add one value to the sequence.
 
virtual int SendPropertySequence (const char *propertyName)=0
 Signal that we are done sending sequence values so that the adapter can send the whole sequence to the device.
 
virtual bool GetErrorText (int errorCode, char *errMessage) const =0
 
virtual bool Busy ()=0
 
virtual double GetDelayMs () const =0
 
virtual void SetDelayMs (double delay)=0
 
virtual bool UsesDelay ()=0
 
virtual void SetLabel (const char *label)=0
 
virtual void GetLabel (char *name) const =0
 
virtual void SetModuleName (const char *moduleName)=0
 
virtual void GetModuleName (char *moduleName) const =0
 
virtual void SetDescription (const char *description)=0
 
virtual void GetDescription (char *description) const =0
 
virtual int Initialize ()=0
 
virtual int Shutdown ()=0
 Shut down (unload) the device.
 
virtual DeviceType GetType () const =0
 
virtual void GetName (char *name) const =0
 
virtual void SetCallback (Core *callback)=0
 
virtual bool SupportsDeviceDetection (void)=0
 
virtual MM::DeviceDetectionStatus DetectDevice (void)=0
 
virtual void SetParentID (const char *parentId)=0
 
virtual void GetParentID (char *parentID) const =0
 

Detailed Description

Generic device interface.

Member Function Documentation

◆ AddToPropertySequence()

virtual int MM::Device::AddToPropertySequence ( const char *  propertyName,
const char *  value 
)
pure virtual

◆ ClearPropertySequence()

virtual int MM::Device::ClearPropertySequence ( const char *  propertyName)
pure virtual

◆ GetDelayMs()

virtual double MM::Device::GetDelayMs ( ) const
pure virtual

◆ GetDescription()

virtual void MM::Device::GetDescription ( char *  description) const
pure virtual

◆ GetErrorText()

virtual bool MM::Device::GetErrorText ( int  errorCode,
char *  errMessage 
) const
pure virtual

◆ GetLabel()

virtual void MM::Device::GetLabel ( char *  name) const
pure virtual

◆ GetModuleName()

virtual void MM::Device::GetModuleName ( char *  moduleName) const
pure virtual

◆ GetNumberOfProperties()

virtual unsigned MM::Device::GetNumberOfProperties ( ) const
pure virtual

◆ GetNumberOfPropertyValues()

virtual unsigned MM::Device::GetNumberOfPropertyValues ( const char *  propertyName) const
pure virtual

◆ GetProperty()

virtual int MM::Device::GetProperty ( const char *  name,
char *  value 
) const
pure virtual

◆ GetPropertyInitStatus()

virtual int MM::Device::GetPropertyInitStatus ( const char *  name,
bool &  preInit 
) const
pure virtual

◆ GetPropertyLowerLimit()

virtual int MM::Device::GetPropertyLowerLimit ( const char *  name,
double &  lowLimit 
) const
pure virtual

◆ GetPropertyName()

virtual bool MM::Device::GetPropertyName ( unsigned  idx,
char *  name 
) const
pure virtual

◆ GetPropertyReadOnly()

virtual int MM::Device::GetPropertyReadOnly ( const char *  name,
bool &  readOnly 
) const
pure virtual

◆ GetPropertySequenceMaxLength()

virtual int MM::Device::GetPropertySequenceMaxLength ( const char *  propertyName,
long &  nrEvents 
) const
pure virtual

◆ GetPropertyType()

virtual int MM::Device::GetPropertyType ( const char *  name,
MM::PropertyType &  pt 
) const
pure virtual

◆ GetPropertyUpperLimit()

virtual int MM::Device::GetPropertyUpperLimit ( const char *  name,
double &  hiLimit 
) const
pure virtual

◆ GetPropertyValueAt()

virtual bool MM::Device::GetPropertyValueAt ( const char *  propertyName,
unsigned  index,
char *  value 
) const
pure virtual

◆ HasProperty()

virtual bool MM::Device::HasProperty ( const char *  name) const
pure virtual

◆ IsPropertySequenceable()

virtual int MM::Device::IsPropertySequenceable ( const char *  name,
bool &  isSequenceable 
) const
pure virtual

Check whether the given property can be used with sequences.

Sequences can be used for fast acquisitions, synchronized by TTLs rather than computer commands. Sequences of states can be uploaded to the device. The device will cycle through the uploaded list of states (triggered by an external trigger - most often coming from the camera). If the device is capable (and ready) to do so, isSequenceable will be true.

Implemented in CDeviceBase< MM::AutoFocus, U >, CDeviceBase< MM::Camera, U >, CDeviceBase< MM::Galvo, U >, CDeviceBase< MM::Generic, U >, CDeviceBase< MM::Hub, U >, CDeviceBase< MM::ImageProcessor, U >, CDeviceBase< MM::Magnifier, U >, CDeviceBase< MM::PressurePump, U >, CDeviceBase< MM::Serial, U >, CDeviceBase< MM::Shutter, U >, CDeviceBase< MM::SignalIO, U >, CDeviceBase< MM::SLM, U >, CDeviceBase< MM::Stage, U >, CDeviceBase< MM::State, U >, CDeviceBase< MM::VolumetricPump, U >, and CDeviceBase< MM::XYStage, U >.

◆ SendPropertySequence()

virtual int MM::Device::SendPropertySequence ( const char *  propertyName)
pure virtual

◆ SetCallback()

virtual void MM::Device::SetCallback ( Core callback)
pure virtual

◆ SetDelayMs()

virtual void MM::Device::SetDelayMs ( double  delay)
pure virtual

◆ SetDescription()

virtual void MM::Device::SetDescription ( const char *  description)
pure virtual

◆ SetLabel()

virtual void MM::Device::SetLabel ( const char *  label)
pure virtual

◆ SetModuleName()

virtual void MM::Device::SetModuleName ( const char *  moduleName)
pure virtual

◆ SetProperty()

virtual int MM::Device::SetProperty ( const char *  name,
const char *  value 
)
pure virtual

◆ Shutdown()

virtual int MM::Device::Shutdown ( )
pure virtual

Shut down (unload) the device.

Required by the MM::Device API. Ideally this method will completely unload the device and release all resources. Shutdown() may be called multiple times in a row. After Shutdown() we should be allowed to call Initialize() again to load the device without causing problems.

◆ StartPropertySequence()

virtual int MM::Device::StartPropertySequence ( const char *  propertyName)
pure virtual

◆ StopPropertySequence()

virtual int MM::Device::StopPropertySequence ( const char *  propertyName)
pure virtual

◆ UsesDelay()

virtual bool MM::Device::UsesDelay ( )
pure virtual

The documentation for this class was generated from the following file: