|
MMDevice
|
#include "MMDevice.h"#include "CameraImageMetadata.h"#include "DeviceThreads.h"#include "DeviceUtils.h"#include "MMDeviceConstants.h"#include "ModuleInterface.h"#include "Property.h"#include <math.h>#include <assert.h>#include <string>#include <vector>#include <iomanip>#include <map>#include <sstream>#include <utility>Go to the source code of this file.
Classes | |
| class | CDeviceBase< T, U > |
| Implement functionality common to all devices. More... | |
| class | CDeviceBase< MM::Device, U > |
| class | CGenericBase< U > |
| Base class for creating generic devices. More... | |
| class | CCameraBase< U > |
| Base class for creating camera device adapters. More... | |
| class | CLegacyCameraBase< U > |
| Legacy base class for creating camera device adapters. More... | |
| class | CLegacyCameraBase< U >::CaptureRestartHelper |
| class | CLegacyCameraBase< U >::BaseSequenceThread |
| class | CStageBase< U > |
| Base class for creating single axis stage adapters. More... | |
| class | CXYStageBase< U > |
| Base class for creating dual axis stage adapters. More... | |
| class | CShutterBase< U > |
| Base class for creating shutter device adapters. More... | |
| class | CSerialBase< U > |
| Base class for creating serial port device adapters. More... | |
| class | CAutoFocusBase< U > |
| Base class for creating auto-focusing modules. More... | |
| class | CImageProcessorBase< U > |
| Base class for creating image processing modules. More... | |
| class | CSignalIOBase< U > |
| Base class for creating ADC/DAC modules. More... | |
| class | CMagnifierBase< U > |
| Base class for creating devices that can change magnification (NS). More... | |
| class | CSLMBase< U > |
| Base class for creating SLM devices that can project images. More... | |
| class | CGalvoBase< U > |
| Base class for creating Galvo devices. More... | |
| class | HubBase< U > |
| Base class for creating special HUB devices for managing device libraries. More... | |
| class | CStateDeviceBase< U > |
| Base class for creating state device adapters such as filter wheels, objectives, turrets, etc. More... | |
| class | CVolumetricPumpBase< U > |
| Base class for creating volumetric pump device adapters. More... | |
| class | CPressurePumpBase< U > |
| Base class for creating pressure pump device adapters. More... | |
Functions | |
| long | nint (double value) |
Variables | |
| const char *const | g_Msg_ERR = "Unknown error in the device" |
| const char *const | g_Msg_INVALID_PROPERTY = "Invalid property name encountered" |
| const char *const | g_Msg_INVALID_PROPERTY_VALUE = "Invalid property value" |
| const char *const | g_Msg_DUPLICATE_PROPERTY = "Duplicate property names are not allowed" |
| const char *const | g_Msg_INVALID_PROPERTY_TYPE = "Invalid property type" |
| const char *const | g_Msg_NATIVE_MODULE_FAILED = "Native module failed to load" |
| const char *const | g_Msg_UNSUPPORTED_DATA_FORMAT = "Unsupported data format encountered" |
| const char *const | g_Msg_INTERNAL_INCONSISTENCY = "Device adapter inconsistent with the actual device" |
| const char *const | g_Msg_NOT_SUPPORTED = "Device not supported by the adapter" |
| const char *const | g_Msg_UNKNOWN_LABEL = "Label not defined" |
| const char *const | g_Msg_UNSUPPORTED_COMMAND = "Unsupported device command" |
| const char *const | g_Msg_UNKNOWN_POSITION = "Invalid state (position) requested" |
| const char *const | g_Msg_NO_CALLBACK_REGISTERED = "No callback registered" |
| const char *const | g_Msg_SERIAL_BUFFER_OVERRUN = "Serial buffer overrun." |
| const char *const | g_Msg_SERIAL_INVALID_RESPONSE = "Unexpected response from serial port. Is the device connected to the correct serial port?" |
| const char *const | g_Msg_SERIAL_TIMEOUT = "Serial timeout occurred." |
| const char *const | g_Msg_SELF_REFERENCE = "Self reference error." |
| const char *const | g_Msg_NO_PROPERTY_DATA = "No property data error." |
| const char *const | g_Msg_DEVICE_DUPLICATE_LABEL = "Position label already in use" |
| const char *const | g_Msg_INVALID_INPUT_PARAM = "Invalid input parameter." |
| const char *const | g_Msg_BUFFER_OVERFLOW = "Buffer Overflow." |
| const char *const | g_Msg_SERIAL_COMMAND_FAILED = "Serial command failed. Is the device connected to the serial port?" |
| const char *const | g_Msg_DEVICE_NONEXISTENT_CHANNEL = "Requested channel is not defined." |
| const char *const | g_Msg_DEVICE_INVALID_PROPERTY_LIMTS |
| const char *const | g_Msg_EXCEPTION_IN_THREAD = "Exception in the thread function." |
| const char *const | g_Msg_EXCEPTION_IN_ON_THREAD_EXITING = "Exception in the OnThreadExiting function." |
| const char *const | g_Msg_SEQUENCE_ACQUISITION_THREAD_EXITING ="Sequence thread exiting" |
| const char *const | g_Msg_DEVICE_CAMERA_BUSY_ACQUIRING ="Camera is busy acquiring images. Stop camera activity before changing this property" |
| const char *const | g_Msg_DEVICE_CAN_NOT_SET_PROPERTY ="The device can not set this property at this moment" |
| const char *const | g_Msg_DEVICE_NOT_CONNECTED ="Unable to communicate with the device." |
| const char *const | g_Msg_DEVICE_COMM_HUB_MISSING = "Parent module (Hub) is not available or defined for this device!" |
| const char *const | g_Msg_DEVICE_DUPLICATE_LIBRARY ="Duplicate Device Library Name" |
| const char *const | g_Msg_DEVICE_PROPERTY_NOT_SEQUENCEABLE ="This property is not sequenceable" |
| const char *const | g_Msg_DEVICE_SEQUENCE_TOO_LARGE ="Sequence is too large for this device" |
| const char *const | g_Msg_DEVICE_NOT_YET_IMPLEMENTED ="This command has not yet been implemented for this device." |
|
inline |
| const char* const g_Msg_BUFFER_OVERFLOW = "Buffer Overflow." |
| const char* const g_Msg_DEVICE_CAMERA_BUSY_ACQUIRING ="Camera is busy acquiring images. Stop camera activity before changing this property" |
| const char* const g_Msg_DEVICE_CAN_NOT_SET_PROPERTY ="The device can not set this property at this moment" |
| const char* const g_Msg_DEVICE_COMM_HUB_MISSING = "Parent module (Hub) is not available or defined for this device!" |
| const char* const g_Msg_DEVICE_DUPLICATE_LABEL = "Position label already in use" |
| const char* const g_Msg_DEVICE_DUPLICATE_LIBRARY ="Duplicate Device Library Name" |
| const char* const g_Msg_DEVICE_INVALID_PROPERTY_LIMTS |
| const char* const g_Msg_DEVICE_NONEXISTENT_CHANNEL = "Requested channel is not defined." |
| const char* const g_Msg_DEVICE_NOT_CONNECTED ="Unable to communicate with the device." |
| const char* const g_Msg_DEVICE_NOT_YET_IMPLEMENTED ="This command has not yet been implemented for this device." |
| const char* const g_Msg_DEVICE_PROPERTY_NOT_SEQUENCEABLE ="This property is not sequenceable" |
| const char* const g_Msg_DEVICE_SEQUENCE_TOO_LARGE ="Sequence is too large for this device" |
| const char* const g_Msg_DUPLICATE_PROPERTY = "Duplicate property names are not allowed" |
| const char* const g_Msg_ERR = "Unknown error in the device" |
| const char* const g_Msg_EXCEPTION_IN_ON_THREAD_EXITING = "Exception in the OnThreadExiting function." |
| const char* const g_Msg_EXCEPTION_IN_THREAD = "Exception in the thread function." |
| const char* const g_Msg_INTERNAL_INCONSISTENCY = "Device adapter inconsistent with the actual device" |
| const char* const g_Msg_INVALID_INPUT_PARAM = "Invalid input parameter." |
| const char* const g_Msg_INVALID_PROPERTY = "Invalid property name encountered" |
| const char* const g_Msg_INVALID_PROPERTY_TYPE = "Invalid property type" |
| const char* const g_Msg_INVALID_PROPERTY_VALUE = "Invalid property value" |
| const char* const g_Msg_NATIVE_MODULE_FAILED = "Native module failed to load" |
| const char* const g_Msg_NO_CALLBACK_REGISTERED = "No callback registered" |
| const char* const g_Msg_NO_PROPERTY_DATA = "No property data error." |
| const char* const g_Msg_NOT_SUPPORTED = "Device not supported by the adapter" |
| const char* const g_Msg_SELF_REFERENCE = "Self reference error." |
| const char* const g_Msg_SEQUENCE_ACQUISITION_THREAD_EXITING ="Sequence thread exiting" |
| const char* const g_Msg_SERIAL_BUFFER_OVERRUN = "Serial buffer overrun." |
| const char* const g_Msg_SERIAL_COMMAND_FAILED = "Serial command failed. Is the device connected to the serial port?" |
| const char* const g_Msg_SERIAL_INVALID_RESPONSE = "Unexpected response from serial port. Is the device connected to the correct serial port?" |
| const char* const g_Msg_SERIAL_TIMEOUT = "Serial timeout occurred." |
| const char* const g_Msg_UNKNOWN_LABEL = "Label not defined" |
| const char* const g_Msg_UNKNOWN_POSITION = "Invalid state (position) requested" |
| const char* const g_Msg_UNSUPPORTED_COMMAND = "Unsupported device command" |
| const char* const g_Msg_UNSUPPORTED_DATA_FORMAT = "Unsupported data format encountered" |