MMDevice 70
|
#include <MMDevice.h>
Public Member Functions | |
virtual int | LogMessage (const Device *caller, const char *msg, bool debugOnly) const =0 |
virtual Device * | GetDevice (const Device *caller, const char *label)=0 |
virtual int | GetDeviceProperty (const char *deviceName, const char *propName, char *value)=0 |
virtual int | SetDeviceProperty (const char *deviceName, const char *propName, const char *value)=0 |
virtual void | GetLoadedDeviceOfType (const Device *caller, MM::DeviceType devType, char *pDeviceName, const unsigned int deviceIterator)=0 |
Get the names of currently loaded devices of a given type. | |
virtual int | SetSerialProperties (const char *portName, const char *answerTimeout, const char *baudRate, const char *delayBetweenCharsMs, const char *handshaking, const char *parity, const char *stopBits)=0 |
virtual int | SetSerialCommand (const Device *caller, const char *portName, const char *command, const char *term)=0 |
virtual int | GetSerialAnswer (const Device *caller, const char *portName, unsigned long ansLength, char *answer, const char *term)=0 |
virtual int | WriteToSerial (const Device *caller, const char *port, const unsigned char *buf, unsigned long length)=0 |
virtual int | ReadFromSerial (const Device *caller, const char *port, unsigned char *buf, unsigned long length, unsigned long &read)=0 |
virtual int | PurgeSerial (const Device *caller, const char *portName)=0 |
virtual MM::PortType | GetSerialPortType (const char *portName) const =0 |
virtual int | OnPropertiesChanged (const Device *caller)=0 |
virtual int | OnPropertyChanged (const Device *caller, const char *propName, const char *propValue)=0 |
virtual int | OnStagePositionChanged (const Device *caller, double pos)=0 |
virtual int | OnXYStagePositionChanged (const Device *caller, double xPos, double yPos)=0 |
virtual int | OnExposureChanged (const Device *caller, double newExposure)=0 |
virtual int | OnSLMExposureChanged (const Device *caller, double newExposure)=0 |
virtual int | OnMagnifierChanged (const Device *caller)=0 |
virtual int | OnShutterOpenChanged (const Device *caller, bool open)=0 |
virtual unsigned long | GetClockTicksUs (const Device *caller)=0 |
virtual MM::MMTime | GetCurrentMMTime ()=0 |
virtual int | AcqFinished (const Device *caller, int statusCode)=0 |
virtual int | PrepareForAcq (const Device *caller)=0 |
virtual int | InsertImage (const Device *caller, const unsigned char *buf, unsigned width, unsigned height, unsigned byteDepth, unsigned nComponents, const char *serializedMetadata, const bool doProcess=true)=0 |
virtual int | InsertImage (const Device *caller, const unsigned char *buf, unsigned width, unsigned height, unsigned byteDepth, const char *serializedMetadata=nullptr, const bool doProcess=true)=0 |
virtual bool | InitializeImageBuffer (unsigned channels, unsigned slices, unsigned int w, unsigned int h, unsigned int pixDepth)=0 |
MM_DEPRECATED (virtual int GetFocusPosition(double &pos))=0 | |
MM_DEPRECATED (virtual MM::SignalIO *GetSignalIODevice(const MM::Device *caller, const char *deviceName))=0 | |
virtual MM::Hub * | GetParentHub (const MM::Device *caller) const =0 |
Callback API to the core control module. Devices use this abstract interface to use Core services
Callback that allows this device adapter to get a pointer to another device. Be aware of potential threading issues. Provide a valid label for the device and receive a pointer to the desired device.
Referenced by CDeviceBase< T, U >::GetDevice().
|
pure virtual |
Get the names of currently loaded devices of a given type.
If deviceIterator exceeds or is equal to the number of currently loaded devices of type devType, an empty string is returned.
[in] | devType | - the device type |
[out] | pDeviceName | - buffer in which device name will be returned |
[in] | deviceIterator | - index of device (within the given type) |
Referenced by CDeviceBase< T, U >::GetLoadedDeviceOfType().
|
pure virtual |
Same as the overload with the added nComponents parameter.
Assumes nComponents == 1 (grayscale).
|
pure virtual |
Cameras must call this function during sequence acquisition to send each frame to the Core.
byteDepth: 1 or 2 for grayscale images; 4 for BGR_
nComponents: 1 for grayscale; 4 for BGR_ (_: unused component)
serializedMetadata: must be the result of md.serialize().c_str() (md being an instance of Metadata)
doProcess: must be true, except for the case mentioned below
Legacy note: Previously, cameras were required to perform special handling when InsertImage() returns DEVICE_BUFFER_OVERFLOW and stopOnOverflow == false. However, InsertImage() no longer ever returns that particular error when stopOnOverflow == false. So cameras should always just stop the acquisition if InsertImage() returns any error.
|
pure virtual |
Logs a message (msg) in the Corelog output, labeled with the device name (derived from caller). If debugOnly flag is true, the output will only be logged if the general system has been set to output debug logging.
Referenced by CDeviceBase< T, U >::LogMessage(), CDeviceBase< T, U >::LogMessage(), CDeviceBase< T, U >::LogMessageCode(), and CDeviceBase< T, U >::LogTimeDiff().
|
pure virtual |
When the exposure time has changed, use this callback to inform the UI
|
pure virtual |
Magnifiers can use this to signal changes in magnification
|
pure virtual |
Callback to signal the UI that a property changed The Core will check if groups or pixel size changed as a consequence of the change of this property and inform the UI
Referenced by CDeviceBase< T, U >::OnPropertyChanged().
|
pure virtual |
Signals that the shutter opened or closed
|
pure virtual |
When the SLM exposure time has changed, use this callback to inform the UI
|
pure virtual |
If the stage is aware that it has reached a new position, it should call this callback to signal the UI
|
pure virtual |
If an XY stage is aware that it has reached a new position, it should call this callback to signal the UI