|
| | Core () |
| |
| virtual | ~Core () |
| |
| virtual int | LogMessage (const Device *caller, const char *msg, bool debugOnly) const =0 |
| | Log a message (msg) in the Corelog output, labeled with the device name (derived from caller).
|
| |
| virtual Device * | GetDevice (const Device *caller, const char *label)=0 |
| | Get a pointer to another device.
|
| |
| 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 |
| | Inform the UI that a property changed.
|
| |
| virtual int | OnStagePositionChanged (const Device *caller, double pos)=0 |
| | Inform the UI when a stage has changed its position.
|
| |
| virtual int | OnXYStagePositionChanged (const Device *caller, double xPos, double yPos)=0 |
| | Inform the UI when an XY stage has changed its position.
|
| |
| virtual int | OnExposureChanged (const Device *caller, double newExposure)=0 |
| | Inform the UI when the exposure time has changed.
|
| |
| virtual int | OnSLMExposureChanged (const Device *caller, double newExposure)=0 |
| | Inform the UI when the SLM exposure time has changed.
|
| |
| virtual int | OnMagnifierChanged (const Device *caller)=0 |
| | Signal changes in magnification.
|
| |
| virtual int | OnShutterOpenChanged (const Device *caller, bool open)=0 |
| | Signal that the shutter opened or closed.
|
| |
| 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 bytePerPixel, unsigned nComponents, const char *serializedMetadata=nullptr)=0 |
| | Send a frame to the Core during sequence acquisition.
|
| |
| virtual int | InsertImage (const Device *caller, const unsigned char *buf, unsigned width, unsigned height, unsigned bytePerPixel, const char *serializedMetadata=nullptr)=0 |
| | Send a grayscale frame to the Core during sequence acquisition.
|
| |
| virtual bool | InitializeImageBuffer (unsigned channels, unsigned slices, unsigned int w, unsigned int h, unsigned int pixDepth)=0 |
| | Prepare the sequence buffer for the given image size and pixel format.
|
| |
| virtual int | GetFocusPosition (double &pos)=0 |
| |
| 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.
| virtual int MM::Core::InsertImage |
( |
const Device * | caller, |
|
|
const unsigned char * | buf, |
|
|
unsigned | width, |
|
|
unsigned | height, |
|
|
unsigned | bytePerPixel, |
|
|
unsigned | nComponents, |
|
|
const char * | serializedMetadata = nullptr ) |
|
pure virtual |
Send a frame to the Core during sequence acquisition.
Cameras must call this function during sequence acquisition to send each frame to the Core.
bytesPerPixel: 1 or 2 for grayscale images; 4 or 8 for BGRx
nComponents: 1 for grayscale; 4 for BGRx (x: an unused component)
(8-byte BGRx may not be supported by the Micro-Manager GUI)
serializedMetadata: must be the result of md.Serialize() (md being an instance of MM::CameraImageMetadata) or nullptr (= no tags)
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.