diff --git a/MMDevice/latest/_device_base_8h_source.html b/MMDevice/latest/_device_base_8h_source.html index 2988bea..243990f 100644 --- a/MMDevice/latest/_device_base_8h_source.html +++ b/MMDevice/latest/_device_base_8h_source.html @@ -659,14 +659,14 @@
841  int LogMessage(const char* msg, bool debugOnly = false) const
842  {
843  if (callback_)
-
844  return callback_->LogMessage(this, msg, debugOnly);
+
844  return callback_->LogMessage(this, msg, debugOnly);
845  return DEVICE_NO_CALLBACK_REGISTERED;
846  }
847 
853  int LogMessage(const std::string& msg, bool debugOnly = false) const
854  {
855  if (callback_)
-
856  return callback_->LogMessage(this, msg.c_str(), debugOnly);
+
856  return callback_->LogMessage(this, msg.c_str(), debugOnly);
857  return DEVICE_NO_CALLBACK_REGISTERED;
858  }
859 
@@ -676,7 +676,7 @@
868  {
869  char text[MM::MaxStrLength];
870  GetErrorText(errorCode, text);
-
871  return callback_->LogMessage(this, text, debugOnly);
+
871  return callback_->LogMessage(this, text, debugOnly);
872  }
873  return DEVICE_NO_CALLBACK_REGISTERED;
874  }
@@ -688,7 +688,7 @@
888  MM::MMTime t = end-start;
889  os << message << t.toString() << " seconds";
890  if (callback_)
-
891  return callback_->LogMessage(this, os.str().c_str(), debugOnly);
+
891  return callback_->LogMessage(this, os.str().c_str(), debugOnly);
892  return DEVICE_NO_CALLBACK_REGISTERED;
893  }
894 
@@ -738,7 +738,7 @@
953  MM::Device* GetDevice(const char* deviceLabel) const
954  {
955  if (callback_)
-
956  return callback_->GetDevice(this, deviceLabel);
+
956  return callback_->GetDevice(this, deviceLabel);
957  return 0;
958  }
959 
@@ -2179,16 +2179,18 @@
MM::ActionFunctor
Definition: Property.h:75
MM::Action
Definition: Property.h:86
MM::Camera::GetBinning
virtual int GetBinning() const =0
-
MM::Core
Definition: MMDevice.h:1226
+
MM::Core
Definition: MMDevice.h:1314
MM::Core::OnMagnifierChanged
virtual int OnMagnifierChanged(const Device *caller)=0
+
MM::Core::GetDevice
virtual Device * GetDevice(const Device *caller, const char *label)=0
MM::Core::OnStagePositionChanged
virtual int OnStagePositionChanged(const Device *caller, double pos)=0
MM::Core::GetLoadedDeviceOfType
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.
MM::Core::OnExposureChanged
virtual int OnExposureChanged(const Device *caller, double newExposure)=0
+
MM::Core::LogMessage
virtual int LogMessage(const Device *caller, const char *msg, bool debugOnly) const =0
MM::Core::OnXYStagePositionChanged
virtual int OnXYStagePositionChanged(const Device *caller, double xPos, double yPos)=0
MM::Core::OnPropertyChanged
virtual int OnPropertyChanged(const Device *caller, const char *propName, const char *propValue)=0
MM::Core::OnSLMExposureChanged
virtual int OnSLMExposureChanged(const Device *caller, double newExposure)=0
MM::Device
Definition: MMDevice.h:225
-
MM::Hub
Definition: MMDevice.h:1171
+
MM::Hub
Definition: MMDevice.h:1259
MM::MMTime
Definition: MMDevice.h:91
MM::PropertyBase
Definition: Property.h:38
MM::PropertyCollection
Definition: Property.h:435
diff --git a/MMDevice/latest/_m_m_device_8h_source.html b/MMDevice/latest/_m_m_device_8h_source.html index a327191..d593873 100644 --- a/MMDevice/latest/_m_m_device_8h_source.html +++ b/MMDevice/latest/_m_m_device_8h_source.html @@ -650,202 +650,202 @@
963  };
964 
965 
-
969  class SLM : public Device
-
970  {
-
971  public:
-
972  SLM() {}
-
973  virtual ~SLM() {}
-
974 
-
975  virtual DeviceType GetType() const { return Type; }
-
976  static const DeviceType Type;
-
977 
-
978  // SLM API
-
982  virtual int SetImage(unsigned char * pixels) = 0;
-
983 
-
987  virtual int SetImage(unsigned int * pixels) = 0;
-
988 
-
992  virtual int DisplayImage() = 0;
-
993 
-
997  virtual int SetPixelsTo(unsigned char intensity) = 0;
-
998 
-
1002  virtual int SetPixelsTo(unsigned char red, unsigned char green, unsigned char blue) = 0;
-
1003 
-
1007  virtual int SetExposure(double interval_ms) = 0;
-
1008 
-
1012  virtual double GetExposure() = 0;
-
1013 
-
1017  virtual unsigned GetWidth() = 0;
-
1018 
-
1022  virtual unsigned GetHeight() = 0;
-
1023 
-
1027  virtual unsigned GetNumberOfComponents() = 0;
-
1028 
-
1032  virtual unsigned GetBytesPerPixel() = 0;
-
1033 
-
1034  // SLM Sequence functions
-
1035  // Sequences can be used for fast acquisitions, synchronized by TTLs rather than
-
1036  // computer commands.
-
1037  // Sequences of images can be uploaded to the SLM. The SLM will cycle through
-
1038  // the uploaded list of images (perhaps triggered by an external trigger or by
-
1039  // an internal clock.
-
1040  // If the device is capable (and ready) to do so IsSLMSequenceable will return
-
1041  // be true. If your device can not execute sequences, IsSLMSequenceable returns false.
-
1042 
-
1053  virtual int IsSLMSequenceable(bool& isSequenceable) const = 0;
-
1054 
-
1060  virtual int GetSLMSequenceMaxLength(long& nrEvents) const = 0;
-
1061 
-
1067  virtual int StartSLMSequence() = 0;
-
1068 
-
1073  virtual int StopSLMSequence() = 0;
-
1074 
-
1084  virtual int ClearSLMSequence() = 0;
-
1085 
-
1093  virtual int AddToSLMSequence(const unsigned char * const pixels) = 0;
-
1094 
-
1102  virtual int AddToSLMSequence(const unsigned int * const pixels) = 0;
-
1103 
-
1110  virtual int SendSLMSequence() = 0;
-
1111 
-
1112  };
-
1113 
-
1117  class Galvo : public Device
-
1118  {
-
1119  public:
-
1120  Galvo() {}
-
1121  virtual ~Galvo() {}
-
1122 
-
1123  virtual DeviceType GetType() const { return Type; }
-
1124  static const DeviceType Type;
-
1125 
-
1126  //Galvo API:
-
1127 
-
1133  virtual int PointAndFire(double x, double y, double time_us) = 0;
-
1134  virtual int SetSpotInterval(double pulseInterval_us) = 0;
-
1135  virtual int SetPosition(double x, double y) = 0;
-
1136  virtual int GetPosition(double& x, double& y) = 0;
-
1137  virtual int SetIlluminationState(bool on) = 0;
-
1141  virtual double GetXRange() = 0;
-
1146  virtual double GetXMinimum() = 0;
-
1150  virtual double GetYRange() = 0;
-
1155  virtual double GetYMinimum() = 0;
-
1156  virtual int AddPolygonVertex(int polygonIndex, double x, double y) = 0;
-
1157  virtual int DeletePolygons() = 0;
-
1158  virtual int RunSequence() = 0;
-
1159  virtual int LoadPolygons() = 0;
-
1160  virtual int SetPolygonRepetitions(int repetitions) = 0;
-
1161  virtual int RunPolygons() = 0;
-
1162  virtual int StopSequence() = 0;
-
1163  virtual int GetChannel(char* channelName) = 0;
-
1164  };
-
1165 
-
1170  class Hub : public Device
-
1171  {
-
1172  public:
-
1173  Hub() {}
-
1174  virtual ~Hub() {}
-
1175 
-
1176  // MMDevice API
-
1177  virtual DeviceType GetType() const { return Type; }
-
1178  static const DeviceType Type;
-
1179 
-
1192  virtual int DetectInstalledDevices() = 0;
-
1193 
-
1202  virtual void ClearInstalledDevices() = 0;
-
1203 
-
1210  virtual unsigned GetNumberOfInstalledDevices() = 0;
-
1211 
-
1218  virtual Device* GetInstalledDevice(int devIdx) = 0;
-
1219  };
-
1220 
-
1225  class Core
-
1226  {
-
1227  public:
-
1228  Core() {}
-
1229  virtual ~Core() {}
-
1230 
-
1231  virtual int LogMessage(const Device* caller, const char* msg, bool debugOnly) const = 0;
-
1232  virtual Device* GetDevice(const Device* caller, const char* label) = 0;
-
1233  virtual int GetDeviceProperty(const char* deviceName, const char* propName, char* value) = 0;
-
1234  virtual int SetDeviceProperty(const char* deviceName, const char* propName, const char* value) = 0;
-
1235 
-
1237 
-
1245  virtual void GetLoadedDeviceOfType(const Device* caller, MM::DeviceType devType, char* pDeviceName, const unsigned int deviceIterator) = 0;
-
1246 
-
1247  virtual int SetSerialProperties(const char* portName,
-
1248  const char* answerTimeout,
-
1249  const char* baudRate,
-
1250  const char* delayBetweenCharsMs,
-
1251  const char* handshaking,
-
1252  const char* parity,
-
1253  const char* stopBits) = 0;
-
1254  virtual int SetSerialCommand(const Device* caller, const char* portName, const char* command, const char* term) = 0;
-
1255  virtual int GetSerialAnswer(const Device* caller, const char* portName, unsigned long ansLength, char* answer, const char* term) = 0;
-
1256  virtual int WriteToSerial(const Device* caller, const char* port, const unsigned char* buf, unsigned long length) = 0;
-
1257  virtual int ReadFromSerial(const Device* caller, const char* port, unsigned char* buf, unsigned long length, unsigned long& read) = 0;
-
1258  virtual int PurgeSerial(const Device* caller, const char* portName) = 0;
-
1259  virtual MM::PortType GetSerialPortType(const char* portName) const = 0;
-
1260 
-
1261  virtual int OnPropertiesChanged(const Device* caller) = 0;
-
1267  virtual int OnPropertyChanged(const Device* caller, const char* propName, const char* propValue) = 0;
-
1272  virtual int OnStagePositionChanged(const Device* caller, double pos) = 0;
-
1277  virtual int OnXYStagePositionChanged(const Device* caller, double xPos, double yPos) = 0;
-
1281  virtual int OnExposureChanged(const Device* caller, double newExposure) = 0;
-
1285  virtual int OnSLMExposureChanged(const Device* caller, double newExposure) = 0;
-
1289  virtual int OnMagnifierChanged(const Device* caller) = 0;
-
1290 
-
1291  // Deprecated: Return value overflows in ~72 minutes on Windows.
-
1292  // Prefer std::chrono::steady_clock for time delta measurements.
-
1293  virtual unsigned long GetClockTicksUs(const Device* caller) = 0;
-
1294 
-
1295  // Returns monotonic MMTime suitable for time delta measurements.
-
1296  // Time zero is not fixed and may change on every launch.
-
1297  // Prefer std::chrono::steady_clock::now() in new code.
-
1298  virtual MM::MMTime GetCurrentMMTime() = 0;
+
973  class SLM : public Device
+
974  {
+
975  public:
+
976  SLM() {}
+
977  virtual ~SLM() {}
+
978 
+
979  virtual DeviceType GetType() const { return Type; }
+
980  static const DeviceType Type;
+
981 
+
982  // SLM API
+
986  virtual int SetImage(unsigned char * pixels) = 0;
+
987 
+
991  virtual int SetImage(unsigned int * pixels) = 0;
+
992 
+
996  virtual int DisplayImage() = 0;
+
997 
+
1001  virtual int SetPixelsTo(unsigned char intensity) = 0;
+
1002 
+
1006  virtual int SetPixelsTo(unsigned char red, unsigned char green, unsigned char blue) = 0;
+
1007 
+
1011  virtual int SetExposure(double interval_ms) = 0;
+
1012 
+
1016  virtual double GetExposure() = 0;
+
1017 
+
1021  virtual unsigned GetWidth() = 0;
+
1022 
+
1026  virtual unsigned GetHeight() = 0;
+
1027 
+
1031  virtual unsigned GetNumberOfComponents() = 0;
+
1032 
+
1036  virtual unsigned GetBytesPerPixel() = 0;
+
1037 
+
1038  // SLM Sequence functions
+
1039  // Sequences can be used for fast acquisitions, synchronized by TTLs rather than
+
1040  // computer commands.
+
1041  // Sequences of images can be uploaded to the SLM. The SLM will cycle through
+
1042  // the uploaded list of images (perhaps triggered by an external trigger or by
+
1043  // an internal clock.
+
1044  // If the device is capable (and ready) to do so IsSLMSequenceable will return
+
1045  // be true. If your device can not execute sequences, IsSLMSequenceable returns false.
+
1046 
+
1057  virtual int IsSLMSequenceable(bool& isSequenceable) const = 0;
+
1058 
+
1064  virtual int GetSLMSequenceMaxLength(long& nrEvents) const = 0;
+
1065 
+
1071  virtual int StartSLMSequence() = 0;
+
1072 
+
1077  virtual int StopSLMSequence() = 0;
+
1078 
+
1088  virtual int ClearSLMSequence() = 0;
+
1089 
+
1097  virtual int AddToSLMSequence(const unsigned char * const pixels) = 0;
+
1098 
+
1106  virtual int AddToSLMSequence(const unsigned int * const pixels) = 0;
+
1107 
+
1114  virtual int SendSLMSequence() = 0;
+
1115 
+
1116  };
+
1117 
+
1132  class Galvo : public Device
+
1133  {
+
1134  public:
+
1135  Galvo() {}
+
1136  virtual ~Galvo() {}
+
1137 
+
1138  virtual DeviceType GetType() const { return Type; }
+
1139  static const DeviceType Type;
+
1140 
+
1141  //Galvo API:
+
1142 
+
1149  virtual int PointAndFire(double x, double y, double time_us) = 0;
+
1157  virtual int SetSpotInterval(double pulseInterval_us) = 0;
+
1163  virtual int SetPosition(double x, double y) = 0;
+
1170  virtual int GetPosition(double& x, double& y) = 0;
+
1177  virtual int SetIlluminationState(bool on) = 0;
+
1181  virtual double GetXRange() = 0;
+
1186  virtual double GetXMinimum() = 0;
+
1190  virtual double GetYRange() = 0;
+
1195  virtual double GetYMinimum() = 0;
+
1206  virtual int AddPolygonVertex(int polygonIndex, double x, double y) = 0;
+
1211  virtual int DeletePolygons() = 0;
+
1221  virtual int RunSequence() = 0;
+
1229  virtual int LoadPolygons() = 0;
+
1235  virtual int SetPolygonRepetitions(int repetitions) = 0;
+
1241  virtual int RunPolygons() = 0;
+
1246  virtual int StopSequence() = 0;
+
1251  virtual int GetChannel(char* channelName) = 0;
+
1252  };
+
1253 
+
1258  class Hub : public Device
+
1259  {
+
1260  public:
+
1261  Hub() {}
+
1262  virtual ~Hub() {}
+
1263 
+
1264  // MMDevice API
+
1265  virtual DeviceType GetType() const { return Type; }
+
1266  static const DeviceType Type;
+
1267 
+
1280  virtual int DetectInstalledDevices() = 0;
+
1281 
+
1290  virtual void ClearInstalledDevices() = 0;
+
1291 
+
1298  virtual unsigned GetNumberOfInstalledDevices() = 0;
1299 
-
1300  // sequence acquisition
-
1301  virtual int AcqFinished(const Device* caller, int statusCode) = 0;
-
1302  virtual int PrepareForAcq(const Device* caller) = 0;
-
1303  virtual int InsertImage(const Device* caller, const ImgBuffer& buf) = 0;
-
1304  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;
-
1305  virtual int InsertImage(const Device* caller, const unsigned char* buf, unsigned width, unsigned height, unsigned byteDepth, const Metadata* md = 0, const bool doProcess = true) = 0;
-
1307  virtual int InsertImage(const Device* caller, const unsigned char* buf, unsigned width, unsigned height, unsigned byteDepth, const char* serializedMetadata, const bool doProcess = true) = 0;
-
1308  virtual void ClearImageBuffer(const Device* caller) = 0;
-
1309  virtual bool InitializeImageBuffer(unsigned channels, unsigned slices, unsigned int w, unsigned int h, unsigned int pixDepth) = 0;
-
1311  virtual int InsertMultiChannel(const Device* caller, const unsigned char* buf, unsigned numChannels, unsigned width, unsigned height, unsigned byteDepth, Metadata* md = 0) = 0;
-
1312 
-
1313  // Formerly intended for use by autofocus
-
1314  MM_DEPRECATED(virtual const char* GetImage()) = 0;
-
1315  MM_DEPRECATED(virtual int GetImageDimensions(int& width, int& height, int& depth)) = 0;
-
1316  MM_DEPRECATED(virtual int GetFocusPosition(double& pos)) = 0;
-
1317  MM_DEPRECATED(virtual int SetFocusPosition(double pos)) = 0;
-
1318  MM_DEPRECATED(virtual int MoveFocus(double velocity)) = 0;
-
1319  MM_DEPRECATED(virtual int SetXYPosition(double x, double y)) = 0;
-
1320  MM_DEPRECATED(virtual int GetXYPosition(double& x, double& y)) = 0;
-
1321  MM_DEPRECATED(virtual int MoveXYStage(double vX, double vY)) = 0;
-
1322  MM_DEPRECATED(virtual int SetExposure(double expMs)) = 0;
-
1323  MM_DEPRECATED(virtual int GetExposure(double& expMs)) = 0;
-
1324  MM_DEPRECATED(virtual int SetConfig(const char* group, const char* name)) = 0;
-
1325  MM_DEPRECATED(virtual int GetCurrentConfig(const char* group, int bufLen, char* name)) = 0;
-
1326  MM_DEPRECATED(virtual int GetChannelConfig(char* channelConfigName, const unsigned int channelConfigIterator)) = 0;
-
1327 
-
1328  // Direct (and dangerous) access to specific device types
-
1329  MM_DEPRECATED(virtual MM::ImageProcessor* GetImageProcessor(const MM::Device* caller)) = 0;
-
1330  MM_DEPRECATED(virtual MM::AutoFocus* GetAutoFocus(const MM::Device* caller)) = 0;
-
1331 
-
1332  virtual MM::Hub* GetParentHub(const MM::Device* caller) const = 0;
+
1306  virtual Device* GetInstalledDevice(int devIdx) = 0;
+
1307  };
+
1308 
+
1313  class Core
+
1314  {
+
1315  public:
+
1316  Core() {}
+
1317  virtual ~Core() {}
+
1318 
+
1324  virtual int LogMessage(const Device* caller, const char* msg, bool debugOnly) const = 0;
+
1330  virtual Device* GetDevice(const Device* caller, const char* label) = 0;
+
1331  virtual int GetDeviceProperty(const char* deviceName, const char* propName, char* value) = 0;
+
1332  virtual int SetDeviceProperty(const char* deviceName, const char* propName, const char* value) = 0;
1333 
-
1334  // More direct (and dangerous) access to specific device types
-
1335  MM_DEPRECATED(virtual MM::State* GetStateDevice(const MM::Device* caller, const char* deviceName)) = 0;
-
1336  MM_DEPRECATED(virtual MM::SignalIO* GetSignalIODevice(const MM::Device* caller, const char* deviceName)) = 0;
-
1337 
-
1338  // Asynchronous error handling (never implemented)
-
1340  MM_DEPRECATED(virtual void NextPostedError(int& /*errorCode*/, char* /*pMessage*/, int /*maxlen*/, int& /*messageLength*/)) = 0;
-
1342  MM_DEPRECATED(virtual void PostError(const int, const char*)) = 0;
-
1344  MM_DEPRECATED(virtual void ClearPostedErrors(void)) = 0;
-
1345  };
-
1346 
-
1347 } // namespace MM
+
1335 
+
1343  virtual void GetLoadedDeviceOfType(const Device* caller, MM::DeviceType devType, char* pDeviceName, const unsigned int deviceIterator) = 0;
+
1344 
+
1345  virtual int SetSerialProperties(const char* portName,
+
1346  const char* answerTimeout,
+
1347  const char* baudRate,
+
1348  const char* delayBetweenCharsMs,
+
1349  const char* handshaking,
+
1350  const char* parity,
+
1351  const char* stopBits) = 0;
+
1352  virtual int SetSerialCommand(const Device* caller, const char* portName, const char* command, const char* term) = 0;
+
1353  virtual int GetSerialAnswer(const Device* caller, const char* portName, unsigned long ansLength, char* answer, const char* term) = 0;
+
1354  virtual int WriteToSerial(const Device* caller, const char* port, const unsigned char* buf, unsigned long length) = 0;
+
1355  virtual int ReadFromSerial(const Device* caller, const char* port, unsigned char* buf, unsigned long length, unsigned long& read) = 0;
+
1356  virtual int PurgeSerial(const Device* caller, const char* portName) = 0;
+
1357  virtual MM::PortType GetSerialPortType(const char* portName) const = 0;
+
1358 
+
1359  virtual int OnPropertiesChanged(const Device* caller) = 0;
+
1365  virtual int OnPropertyChanged(const Device* caller, const char* propName, const char* propValue) = 0;
+
1370  virtual int OnStagePositionChanged(const Device* caller, double pos) = 0;
+
1375  virtual int OnXYStagePositionChanged(const Device* caller, double xPos, double yPos) = 0;
+
1379  virtual int OnExposureChanged(const Device* caller, double newExposure) = 0;
+
1383  virtual int OnSLMExposureChanged(const Device* caller, double newExposure) = 0;
+
1387  virtual int OnMagnifierChanged(const Device* caller) = 0;
+
1388 
+
1389  // Deprecated: Return value overflows in ~72 minutes on Windows.
+
1390  // Prefer std::chrono::steady_clock for time delta measurements.
+
1391  virtual unsigned long GetClockTicksUs(const Device* caller) = 0;
+
1392 
+
1393  // Returns monotonic MMTime suitable for time delta measurements.
+
1394  // Time zero is not fixed and may change on every launch.
+
1395  // Prefer std::chrono::steady_clock::now() in new code.
+
1396  virtual MM::MMTime GetCurrentMMTime() = 0;
+
1397 
+
1398  // sequence acquisition
+
1399  virtual int AcqFinished(const Device* caller, int statusCode) = 0;
+
1400  virtual int PrepareForAcq(const Device* caller) = 0;
+
1401  virtual int InsertImage(const Device* caller, const ImgBuffer& buf) = 0;
+
1402  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;
+
1403  virtual int InsertImage(const Device* caller, const unsigned char* buf, unsigned width, unsigned height, unsigned byteDepth, const Metadata* md = 0, const bool doProcess = true) = 0;
+
1405  virtual int InsertImage(const Device* caller, const unsigned char* buf, unsigned width, unsigned height, unsigned byteDepth, const char* serializedMetadata, const bool doProcess = true) = 0;
+
1406  virtual void ClearImageBuffer(const Device* caller) = 0;
+
1407  virtual bool InitializeImageBuffer(unsigned channels, unsigned slices, unsigned int w, unsigned int h, unsigned int pixDepth) = 0;
+
1409  virtual int InsertMultiChannel(const Device* caller, const unsigned char* buf, unsigned numChannels, unsigned width, unsigned height, unsigned byteDepth, Metadata* md = 0) = 0;
+
1410 
+
1411  // Formerly intended for use by autofocus
+
1412  MM_DEPRECATED(virtual const char* GetImage()) = 0;
+
1413  MM_DEPRECATED(virtual int GetImageDimensions(int& width, int& height, int& depth)) = 0;
+
1414  MM_DEPRECATED(virtual int GetFocusPosition(double& pos)) = 0;
+
1415  MM_DEPRECATED(virtual int SetFocusPosition(double pos)) = 0;
+
1416  MM_DEPRECATED(virtual int MoveFocus(double velocity)) = 0;
+
1417  MM_DEPRECATED(virtual int SetXYPosition(double x, double y)) = 0;
+
1418  MM_DEPRECATED(virtual int GetXYPosition(double& x, double& y)) = 0;
+
1419  MM_DEPRECATED(virtual int MoveXYStage(double vX, double vY)) = 0;
+
1420  MM_DEPRECATED(virtual int SetExposure(double expMs)) = 0;
+
1421  MM_DEPRECATED(virtual int GetExposure(double& expMs)) = 0;
+
1422  MM_DEPRECATED(virtual int SetConfig(const char* group, const char* name)) = 0;
+
1423  MM_DEPRECATED(virtual int GetCurrentConfig(const char* group, int bufLen, char* name)) = 0;
+
1424  MM_DEPRECATED(virtual int GetChannelConfig(char* channelConfigName, const unsigned int channelConfigIterator)) = 0;
+
1425 
+
1426  // Direct (and dangerous) access to specific device types
+
1427  MM_DEPRECATED(virtual MM::ImageProcessor* GetImageProcessor(const MM::Device* caller)) = 0;
+
1428  MM_DEPRECATED(virtual MM::AutoFocus* GetAutoFocus(const MM::Device* caller)) = 0;
+
1429 
+
1430  virtual MM::Hub* GetParentHub(const MM::Device* caller) const = 0;
+
1431 
+
1432  // More direct (and dangerous) access to specific device types
+
1433  MM_DEPRECATED(virtual MM::State* GetStateDevice(const MM::Device* caller, const char* deviceName)) = 0;
+
1434  MM_DEPRECATED(virtual MM::SignalIO* GetSignalIODevice(const MM::Device* caller, const char* deviceName)) = 0;
+
1435 
+
1436  // Asynchronous error handling (never implemented)
+
1438  MM_DEPRECATED(virtual void NextPostedError(int& /*errorCode*/, char* /*pMessage*/, int /*maxlen*/, int& /*messageLength*/)) = 0;
+
1440  MM_DEPRECATED(virtual void PostError(const int, const char*)) = 0;
+
1442  MM_DEPRECATED(virtual void ClearPostedErrors(void)) = 0;
+
1443  };
+
1444 
+
1445 } // namespace MM
ImgBuffer
Definition: ImgBuffer.h:36
MM::AutoFocus
Definition: MMDevice.h:824
MM::Camera
Definition: MMDevice.h:332
@@ -879,12 +879,14 @@
MM::Camera::SetBinning
virtual int SetBinning(int binSize)=0
MM::Camera::GetImageBuffer
virtual const unsigned char * GetImageBuffer(unsigned channelNr)=0
MM::Camera::GetImageBytesPerPixel
virtual unsigned GetImageBytesPerPixel() const =0
-
MM::Core
Definition: MMDevice.h:1226
+
MM::Core
Definition: MMDevice.h:1314
MM::Core::OnMagnifierChanged
virtual int OnMagnifierChanged(const Device *caller)=0
+
MM::Core::GetDevice
virtual Device * GetDevice(const Device *caller, const char *label)=0
MM::Core::OnStagePositionChanged
virtual int OnStagePositionChanged(const Device *caller, double pos)=0
MM::Core::GetLoadedDeviceOfType
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.
MM::Core::OnExposureChanged
virtual int OnExposureChanged(const Device *caller, double newExposure)=0
MM::Core::InsertMultiChannel
virtual int InsertMultiChannel(const Device *caller, const unsigned char *buf, unsigned numChannels, unsigned width, unsigned height, unsigned byteDepth, Metadata *md=0)=0
+
MM::Core::LogMessage
virtual int LogMessage(const Device *caller, const char *msg, bool debugOnly) const =0
MM::Core::OnXYStagePositionChanged
virtual int OnXYStagePositionChanged(const Device *caller, double xPos, double yPos)=0
MM::Core::MM_DEPRECATED
MM_DEPRECATED(virtual void PostError(const int, const char *))=0
MM::Core::MM_DEPRECATED
MM_DEPRECATED(virtual void NextPostedError(int &, char *, int, int &))=0
@@ -901,14 +903,26 @@
MM::Device::AddToPropertySequence
virtual int AddToPropertySequence(const char *propertyName, const char *value)=0
MM::Device::SendPropertySequence
virtual int SendPropertySequence(const char *propertyName)=0
MM::Device::Shutdown
virtual int Shutdown()=0
-
MM::Galvo
Definition: MMDevice.h:1118
+
MM::Galvo
Definition: MMDevice.h:1133
+
MM::Galvo::RunSequence
virtual int RunSequence()=0
+
MM::Galvo::RunPolygons
virtual int RunPolygons()=0
+
MM::Galvo::LoadPolygons
virtual int LoadPolygons()=0
+
MM::Galvo::GetPosition
virtual int GetPosition(double &x, double &y)=0
+
MM::Galvo::StopSequence
virtual int StopSequence()=0
MM::Galvo::GetXRange
virtual double GetXRange()=0
+
MM::Galvo::SetSpotInterval
virtual int SetSpotInterval(double pulseInterval_us)=0
MM::Galvo::GetYRange
virtual double GetYRange()=0
MM::Galvo::GetYMinimum
virtual double GetYMinimum()=0
+
MM::Galvo::AddPolygonVertex
virtual int AddPolygonVertex(int polygonIndex, double x, double y)=0
+
MM::Galvo::GetChannel
virtual int GetChannel(char *channelName)=0
MM::Galvo::PointAndFire
virtual int PointAndFire(double x, double y, double time_us)=0
+
MM::Galvo::DeletePolygons
virtual int DeletePolygons()=0
+
MM::Galvo::SetPolygonRepetitions
virtual int SetPolygonRepetitions(int repetitions)=0
+
MM::Galvo::SetPosition
virtual int SetPosition(double x, double y)=0
+
MM::Galvo::SetIlluminationState
virtual int SetIlluminationState(bool on)=0
MM::Galvo::GetXMinimum
virtual double GetXMinimum()=0
MM::Generic
Definition: MMDevice.h:323
-
MM::Hub
Definition: MMDevice.h:1171
+
MM::Hub
Definition: MMDevice.h:1259
MM::Hub::GetInstalledDevice
virtual Device * GetInstalledDevice(int devIdx)=0
MM::Hub::GetNumberOfInstalledDevices
virtual unsigned GetNumberOfInstalledDevices()=0
MM::Hub::ClearInstalledDevices
virtual void ClearInstalledDevices()=0
@@ -916,7 +930,7 @@
MM::ImageProcessor
Definition: MMDevice.h:850
MM::MMTime
Definition: MMDevice.h:91
MM::Magnifier
Definition: MMDevice.h:953
-
MM::SLM
Definition: MMDevice.h:970
+
MM::SLM
Definition: MMDevice.h:974
MM::SLM::StartSLMSequence
virtual int StartSLMSequence()=0
MM::SLM::SendSLMSequence
virtual int SendSLMSequence()=0
MM::SLM::GetSLMSequenceMaxLength
virtual int GetSLMSequenceMaxLength(long &nrEvents) const =0
diff --git a/MMDevice/latest/class_c_device_base.html b/MMDevice/latest/class_c_device_base.html index 0519193..d9080c0 100644 --- a/MMDevice/latest/class_c_device_base.html +++ b/MMDevice/latest/class_c_device_base.html @@ -1114,6 +1114,8 @@

Gets the handle (pointer) to the specified device label. With this method we can get a handle to other devices loaded in the system, if we know the device name.

+

References MM::Core::GetDevice().

+ @@ -2240,6 +2242,8 @@

References MM::Core::LogMessage().

+

Referenced by CDeviceBase< T, U >::AssignToHub(), and CDeviceBase< T, U >::SetPropertyLimits().

@@ -2287,6 +2291,8 @@

References MM::Core::LogMessage().

+ @@ -2332,7 +2338,7 @@

References CDeviceBase< T, U >::GetErrorText().

+

References CDeviceBase< T, U >::GetErrorText(), and MM::Core::LogMessage().

@@ -2447,6 +2453,8 @@

References MM::Core::LogMessage().

+

Referenced by CDeviceBase< T, U >::LogTimeDiff().

diff --git a/MMDevice/latest/class_c_galvo_base-members.html b/MMDevice/latest/class_c_galvo_base-members.html index 1587202..b2cacc7 100644 --- a/MMDevice/latest/class_c_galvo_base-members.html +++ b/MMDevice/latest/class_c_galvo_base-members.html @@ -48,7 +48,7 @@ - + @@ -64,12 +64,12 @@ - + - + @@ -88,7 +88,7 @@ - + @@ -113,7 +113,7 @@ - + @@ -131,8 +131,8 @@ - - + + @@ -140,21 +140,21 @@ - + - - + + - + - + diff --git a/MMDevice/latest/class_c_galvo_base.html b/MMDevice/latest/class_c_galvo_base.html index cb0808b..53a08e1 100644 --- a/MMDevice/latest/class_c_galvo_base.html +++ b/MMDevice/latest/class_c_galvo_base.html @@ -190,45 +190,33 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -67,7 +67,7 @@ - + diff --git a/MMDevice/latest/class_m_m_1_1_core.html b/MMDevice/latest/class_m_m_1_1_core.html index 71e3e31..3265a0f 100644 --- a/MMDevice/latest/class_m_m_1_1_core.html +++ b/MMDevice/latest/class_m_m_1_1_core.html @@ -55,11 +55,9 @@
AddAllowedValue(const char *name, const char *value)CDeviceBase< MM::Galvo, U >inline
AddAllowedValue(const char *name, const char *value, long data)CDeviceBase< MM::Galvo, U >inline
AddPolygonVertex(int polygonIndex, double x, double y)=0 (defined in MM::Galvo)MM::Galvopure virtual
AddPolygonVertex(int polygonIndex, double x, double y)=0MM::Galvopure virtual
AddToPropertySequence(const char *name, const char *value)CDeviceBase< MM::Galvo, U >inlinevirtual
ApplyProperty(const char *name)CDeviceBase< MM::Galvo, U >inline
AssignToHub()CDeviceBase< MM::Galvo, U >inlineprotected
CreateProperty(const char *name, const char *value, MM::PropertyType eType, bool readOnly, MM::ActionFunctor *pAct=0, bool isPreInitProperty=false)CDeviceBase< MM::Galvo, U >inline
CreatePropertyWithHandler(const char *name, const char *value, MM::PropertyType eType, bool readOnly, int(U::*memberFunction)(MM::PropertyBase *pProp, MM::ActionType eAct), bool isPreInitProperty=false)CDeviceBase< MM::Galvo, U >inline
CreateStringProperty(const char *name, const char *value, bool readOnly, MM::ActionFunctor *pAct=0, bool isPreInitProperty=false)CDeviceBase< MM::Galvo, U >inline
DeletePolygons()=0 (defined in MM::Galvo)MM::Galvopure virtual
DeletePolygons()=0MM::Galvopure virtual
DetectDevice(void) (defined in CDeviceBase< MM::Galvo, U >)CDeviceBase< MM::Galvo, U >inlinevirtual
Device() (defined in MM::Device)MM::Deviceinline
EnableDelay(bool state=true)CDeviceBase< MM::Galvo, U >inlineprotected
Galvo() (defined in MM::Galvo)MM::Galvoinline
GetChannel(char *channelName)=0 (defined in MM::Galvo)MM::Galvopure virtual
GetChannel(char *channelName)=0MM::Galvopure virtual
GetClockTicksUs()CDeviceBase< MM::Galvo, U >inlineprotected
GetCoreCallback() constCDeviceBase< MM::Galvo, U >inlineprotected
GetCurrentMMTime()CDeviceBase< MM::Galvo, U >inlineprotected
GetNumberOfPropertyValues(const char *propertyName) constCDeviceBase< MM::Galvo, U >inlinevirtual
GetParentHub() constCDeviceBase< MM::Galvo, U >inlineprotected
GetParentID(char *parentID) const (defined in CDeviceBase< MM::Galvo, U >)CDeviceBase< MM::Galvo, U >inlinevirtual
GetPosition(double &x, double &y)=0 (defined in MM::Galvo)MM::Galvopure virtual
GetPosition(double &x, double &y)=0MM::Galvopure virtual
GetProperty(const char *name, char *value) constCDeviceBase< MM::Galvo, U >inlinevirtual
GetProperty(const char *name, double &val)CDeviceBase< MM::Galvo, U >inline
GetProperty(const char *name, long &val)CDeviceBase< MM::Galvo, U >inline
IsCallbackRegistered() constCDeviceBase< MM::Galvo, U >inlineprotected
IsPropertyEqualTo(const char *name, const char *val) constCDeviceBase< MM::Galvo, U >inline
IsPropertySequenceable(const char *name, bool &sequenceable) constCDeviceBase< MM::Galvo, U >inlinevirtual
LoadPolygons()=0 (defined in MM::Galvo)MM::Galvopure virtual
LoadPolygons()=0MM::Galvopure virtual
LogMessage(const char *msg, bool debugOnly=false) constCDeviceBase< MM::Galvo, U >inlineprotected
LogMessage(const std::string &msg, bool debugOnly=false) constCDeviceBase< MM::Galvo, U >inlineprotected
LogMessageCode(const int errorCode, bool debugOnly=false) constCDeviceBase< MM::Galvo, U >inlineprotected
PointAndFire(double x, double y, double time_us)=0MM::Galvopure virtual
PurgeComPort(const char *portLabel)CDeviceBase< MM::Galvo, U >inlineprotected
ReadFromComPort(const char *portLabel, unsigned char *buf, unsigned bufLength, unsigned long &read)CDeviceBase< MM::Galvo, U >inlineprotected
RunPolygons()=0 (defined in MM::Galvo)MM::Galvopure virtual
RunSequence()=0 (defined in MM::Galvo)MM::Galvopure virtual
RunPolygons()=0MM::Galvopure virtual
RunSequence()=0MM::Galvopure virtual
SendPropertySequence(const char *name)CDeviceBase< MM::Galvo, U >inlinevirtual
SendSerialCommand(const char *portName, const char *command, const char *term)CDeviceBase< MM::Galvo, U >inlineprotected
SetAllowedValues(const char *name, std::vector< std::string > &values)CDeviceBase< MM::Galvo, U >inline
SetDelayMs(double delay)CDeviceBase< MM::Galvo, U >inlinevirtual
SetDescription(const char *descr)CDeviceBase< MM::Galvo, U >inlinevirtual
SetErrorText(int errorCode, const char *text)CDeviceBase< MM::Galvo, U >inlineprotected
SetIlluminationState(bool on)=0 (defined in MM::Galvo)MM::Galvopure virtual
SetIlluminationState(bool on)=0MM::Galvopure virtual
SetLabel(const char *label)CDeviceBase< MM::Galvo, U >inlinevirtual
SetModuleHandle(HDEVMODULE hModule)CDeviceBase< MM::Galvo, U >inlinevirtual
SetModuleName(const char *name)CDeviceBase< MM::Galvo, U >inlinevirtual
SetMorePropertyErrorInfo(const char *ptext) const (defined in CDeviceBase< MM::Galvo, U >)CDeviceBase< MM::Galvo, U >inlineprotected
SetParentID(const char *parentId) (defined in CDeviceBase< MM::Galvo, U >)CDeviceBase< MM::Galvo, U >inlinevirtual
SetPolygonRepetitions(int repetitions)=0 (defined in MM::Galvo)MM::Galvopure virtual
SetPosition(double x, double y)=0 (defined in MM::Galvo)MM::Galvopure virtual
SetPolygonRepetitions(int repetitions)=0MM::Galvopure virtual
SetPosition(double x, double y)=0MM::Galvopure virtual
SetProperty(const char *name, const char *value)CDeviceBase< MM::Galvo, U >inlinevirtual
SetPropertyLimits(const char *name, double low, double high)CDeviceBase< MM::Galvo, U >inline
SetSpotInterval(double pulseInterval_us)=0 (defined in MM::Galvo)MM::Galvopure virtual
SetSpotInterval(double pulseInterval_us)=0MM::Galvopure virtual
Shutdown()=0MM::Devicepure virtual
StartPropertySequence(const char *name)CDeviceBase< MM::Galvo, U >inlinevirtual
StopPropertySequence(const char *name)CDeviceBase< MM::Galvo, U >inlinevirtual
StopSequence()=0 (defined in MM::Galvo)MM::Galvopure virtual
StopSequence()=0MM::Galvopure virtual
SupportsDeviceDetection(void) (defined in CDeviceBase< MM::Galvo, U >)CDeviceBase< MM::Galvo, U >inlinevirtual
Type (defined in MM::Galvo)MM::Galvostatic
UpdateProperty(const char *name)CDeviceBase< MM::Galvo, U >inline
 
virtual int PointAndFire (double x, double y, double time_us)=0
 
-virtual int SetSpotInterval (double pulseInterval_us)=0
virtual int SetSpotInterval (double pulseInterval_us)=0
 
-virtual int SetPosition (double x, double y)=0
virtual int SetPosition (double x, double y)=0
 
-virtual int GetPosition (double &x, double &y)=0
virtual int GetPosition (double &x, double &y)=0
 
-virtual int SetIlluminationState (bool on)=0
virtual int SetIlluminationState (bool on)=0
 
virtual double GetXRange ()=0
 
virtual double GetYRange ()=0
 
-virtual int AddPolygonVertex (int polygonIndex, double x, double y)=0
virtual int AddPolygonVertex (int polygonIndex, double x, double y)=0
 
-virtual int DeletePolygons ()=0
virtual int DeletePolygons ()=0
 
-virtual int RunSequence ()=0
virtual int RunSequence ()=0
 
-virtual int LoadPolygons ()=0
virtual int LoadPolygons ()=0
 
-virtual int SetPolygonRepetitions (int repetitions)=0
virtual int SetPolygonRepetitions (int repetitions)=0
 
-virtual int RunPolygons ()=0
virtual int RunPolygons ()=0
 
-virtual int StopSequence ()=0
virtual int StopSequence ()=0
 
-virtual int GetChannel (char *channelName)=0
virtual int GetChannel (char *channelName)=0
 
- Public Member Functions inherited from MM::Device
diff --git a/MMDevice/latest/class_m_m_1_1_core-members.html b/MMDevice/latest/class_m_m_1_1_core-members.html index 8e4184e..a27046a 100644 --- a/MMDevice/latest/class_m_m_1_1_core-members.html +++ b/MMDevice/latest/class_m_m_1_1_core-members.html @@ -55,7 +55,7 @@
Core() (defined in MM::Core)MM::Coreinline
GetClockTicksUs(const Device *caller)=0 (defined in MM::Core)MM::Corepure virtual
GetCurrentMMTime()=0 (defined in MM::Core)MM::Corepure virtual
GetDevice(const Device *caller, const char *label)=0 (defined in MM::Core)MM::Corepure virtual
GetDevice(const Device *caller, const char *label)=0MM::Corepure virtual
GetDeviceProperty(const char *deviceName, const char *propName, char *value)=0 (defined in MM::Core)MM::Corepure virtual
GetLoadedDeviceOfType(const Device *caller, MM::DeviceType devType, char *pDeviceName, const unsigned int deviceIterator)=0MM::Corepure virtual
GetParentHub(const MM::Device *caller) const =0 (defined in MM::Core)MM::Corepure virtual
InsertImage(const Device *caller, const unsigned char *buf, unsigned width, unsigned height, unsigned byteDepth, const Metadata *md=0, const bool doProcess=true)=0 (defined in MM::Core)MM::Corepure virtual
InsertImage(const Device *caller, const unsigned char *buf, unsigned width, unsigned height, unsigned byteDepth, const char *serializedMetadata, const bool doProcess=true)=0MM::Corepure virtual
InsertMultiChannel(const Device *caller, const unsigned char *buf, unsigned numChannels, unsigned width, unsigned height, unsigned byteDepth, Metadata *md=0)=0MM::Corepure virtual
LogMessage(const Device *caller, const char *msg, bool debugOnly) const =0 (defined in MM::Core)MM::Corepure virtual
LogMessage(const Device *caller, const char *msg, bool debugOnly) const =0MM::Corepure virtual
MM_DEPRECATED(virtual const char *GetImage())=0 (defined in MM::Core)MM::Corepure virtual
MM_DEPRECATED(virtual int GetImageDimensions(int &width, int &height, int &depth))=0 (defined in MM::Core)MM::Corepure virtual
MM_DEPRECATED(virtual int GetFocusPosition(double &pos))=0 (defined in MM::Core)MM::Corepure virtual
- + - + @@ -201,6 +199,45 @@

Detailed Description

Callback API to the core control module. Devices use this abstract interface to use Core services

Member Function Documentation

+ +

◆ GetDevice()

+ +
+
+

Public Member Functions

-virtual int LogMessage (const Device *caller, const char *msg, bool debugOnly) const =0
virtual int LogMessage (const Device *caller, const char *msg, bool debugOnly) const =0
 
-virtual DeviceGetDevice (const Device *caller, const char *label)=0
virtual DeviceGetDevice (const Device *caller, const char *label)=0
 
virtual int GetDeviceProperty (const char *deviceName, const char *propName, char *value)=0
+ + + + +
+ + + + + + + + + + + + + + + + + + +
virtual Device* MM::Core::GetDevice (const Devicecaller,
const char * label 
)
+
+pure virtual
+
+

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().

+ +
+

◆ GetLoadedDeviceOfType()

@@ -394,6 +431,51 @@

Deprecated:
Use the other forms instead.
+ + + +

◆ LogMessage()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual int MM::Core::LogMessage (const Devicecaller,
const char * msg,
bool debugOnly 
) const
+
+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 >::LogMessageCode(), and CDeviceBase< T, U >::LogTimeDiff().

+
diff --git a/MMDevice/latest/class_m_m_1_1_galvo-members.html b/MMDevice/latest/class_m_m_1_1_galvo-members.html index fde7c5d..c7f0ab8 100644 --- a/MMDevice/latest/class_m_m_1_1_galvo-members.html +++ b/MMDevice/latest/class_m_m_1_1_galvo-members.html @@ -50,15 +50,15 @@

This is the complete list of members for MM::Galvo, including all inherited members.

- + - + - + @@ -68,7 +68,7 @@ - + @@ -87,28 +87,28 @@ - + - - + + - + - - + + - + - + diff --git a/MMDevice/latest/class_m_m_1_1_galvo.html b/MMDevice/latest/class_m_m_1_1_galvo.html index db97a81..ab521ed 100644 --- a/MMDevice/latest/class_m_m_1_1_galvo.html +++ b/MMDevice/latest/class_m_m_1_1_galvo.html @@ -72,17 +72,13 @@ - + - + - + - + @@ -92,29 +88,21 @@ - + - + - + - + - + - + - + - +
AddPolygonVertex(int polygonIndex, double x, double y)=0 (defined in MM::Galvo)MM::Galvopure virtual
AddPolygonVertex(int polygonIndex, double x, double y)=0MM::Galvopure virtual
AddToPropertySequence(const char *propertyName, const char *value)=0MM::Devicepure virtual
Busy()=0 (defined in MM::Device)MM::Devicepure virtual
ClearPropertySequence(const char *propertyName)=0MM::Devicepure virtual
DeletePolygons()=0 (defined in MM::Galvo)MM::Galvopure virtual
DeletePolygons()=0MM::Galvopure virtual
DetectDevice(void)=0 (defined in MM::Device)MM::Devicepure virtual
Device() (defined in MM::Device)MM::Deviceinline
Galvo() (defined in MM::Galvo)MM::Galvoinline
GetChannel(char *channelName)=0 (defined in MM::Galvo)MM::Galvopure virtual
GetChannel(char *channelName)=0MM::Galvopure virtual
GetDelayMs() const =0 (defined in MM::Device)MM::Devicepure virtual
GetDescription(char *description) const =0 (defined in MM::Device)MM::Devicepure virtual
GetErrorText(int errorCode, char *errMessage) const =0 (defined in MM::Device)MM::Devicepure virtual
GetNumberOfProperties() const =0 (defined in MM::Device)MM::Devicepure virtual
GetNumberOfPropertyValues(const char *propertyName) const =0 (defined in MM::Device)MM::Devicepure virtual
GetParentID(char *parentID) const =0 (defined in MM::Device)MM::Devicepure virtual
GetPosition(double &x, double &y)=0 (defined in MM::Galvo)MM::Galvopure virtual
GetPosition(double &x, double &y)=0MM::Galvopure virtual
GetProperty(const char *name, char *value) const =0 (defined in MM::Device)MM::Devicepure virtual
GetPropertyInitStatus(const char *name, bool &preInit) const =0 (defined in MM::Device)MM::Devicepure virtual
GetPropertyLowerLimit(const char *name, double &lowLimit) const =0 (defined in MM::Device)MM::Devicepure virtual
HasPropertyLimits(const char *name, bool &hasLimits) const =0 (defined in MM::Device)MM::Devicepure virtual
Initialize()=0 (defined in MM::Device)MM::Devicepure virtual
IsPropertySequenceable(const char *name, bool &isSequenceable) const =0MM::Devicepure virtual
LoadPolygons()=0 (defined in MM::Galvo)MM::Galvopure virtual
LoadPolygons()=0MM::Galvopure virtual
MM_DEPRECATED(virtual HDEVMODULE GetModuleHandle() const)=0 (defined in MM::Device)MM::Devicepure virtual
MM_DEPRECATED(virtual void SetModuleHandle(HDEVMODULE hLibraryHandle))=0 (defined in MM::Device)MM::Devicepure virtual
PointAndFire(double x, double y, double time_us)=0MM::Galvopure virtual
RunPolygons()=0 (defined in MM::Galvo)MM::Galvopure virtual
RunSequence()=0 (defined in MM::Galvo)MM::Galvopure virtual
RunPolygons()=0MM::Galvopure virtual
RunSequence()=0MM::Galvopure virtual
SendPropertySequence(const char *propertyName)=0MM::Devicepure virtual
SetCallback(Core *callback)=0 (defined in MM::Device)MM::Devicepure virtual
SetDelayMs(double delay)=0 (defined in MM::Device)MM::Devicepure virtual
SetDescription(const char *description)=0 (defined in MM::Device)MM::Devicepure virtual
SetIlluminationState(bool on)=0 (defined in MM::Galvo)MM::Galvopure virtual
SetIlluminationState(bool on)=0MM::Galvopure virtual
SetLabel(const char *label)=0 (defined in MM::Device)MM::Devicepure virtual
SetModuleName(const char *moduleName)=0 (defined in MM::Device)MM::Devicepure virtual
SetParentID(const char *parentId)=0 (defined in MM::Device)MM::Devicepure virtual
SetPolygonRepetitions(int repetitions)=0 (defined in MM::Galvo)MM::Galvopure virtual
SetPosition(double x, double y)=0 (defined in MM::Galvo)MM::Galvopure virtual
SetPolygonRepetitions(int repetitions)=0MM::Galvopure virtual
SetPosition(double x, double y)=0MM::Galvopure virtual
SetProperty(const char *name, const char *value)=0 (defined in MM::Device)MM::Devicepure virtual
SetSpotInterval(double pulseInterval_us)=0 (defined in MM::Galvo)MM::Galvopure virtual
SetSpotInterval(double pulseInterval_us)=0MM::Galvopure virtual
Shutdown()=0MM::Devicepure virtual
StartPropertySequence(const char *propertyName)=0MM::Devicepure virtual
StopPropertySequence(const char *propertyName)=0MM::Devicepure virtual
StopSequence()=0 (defined in MM::Galvo)MM::Galvopure virtual
StopSequence()=0MM::Galvopure virtual
SupportsDeviceDetection(void)=0 (defined in MM::Device)MM::Devicepure virtual
Type (defined in MM::Galvo)MM::Galvostatic
UsesDelay()=0 (defined in MM::Device)MM::Devicepure virtual
 
virtual int PointAndFire (double x, double y, double time_us)=0
 
-virtual int SetSpotInterval (double pulseInterval_us)=0
virtual int SetSpotInterval (double pulseInterval_us)=0
 
-virtual int SetPosition (double x, double y)=0
virtual int SetPosition (double x, double y)=0
 
-virtual int GetPosition (double &x, double &y)=0
virtual int GetPosition (double &x, double &y)=0
 
-virtual int SetIlluminationState (bool on)=0
virtual int SetIlluminationState (bool on)=0
 
virtual double GetXRange ()=0
 
 
virtual double GetYMinimum ()=0
 
-virtual int AddPolygonVertex (int polygonIndex, double x, double y)=0
virtual int AddPolygonVertex (int polygonIndex, double x, double y)=0
 
-virtual int DeletePolygons ()=0
virtual int DeletePolygons ()=0
 
-virtual int RunSequence ()=0
virtual int RunSequence ()=0
 
-virtual int LoadPolygons ()=0
virtual int LoadPolygons ()=0
 
-virtual int SetPolygonRepetitions (int repetitions)=0
virtual int SetPolygonRepetitions (int repetitions)=0
 
-virtual int RunPolygons ()=0
virtual int RunPolygons ()=0
 
-virtual int StopSequence ()=0
virtual int StopSequence ()=0
 
-virtual int GetChannel (char *channelName)=0
virtual int GetChannel (char *channelName)=0
 
- Public Member Functions inherited from MM::Device
@@ -240,8 +228,142 @@
 

Detailed Description

-

Galvo API

+

Galvo API A Galvo in Micro-Manager is a two-axis (conveniently labeled x and y) that can illuminate a sample in the microscope. It therefore also has the capability to switch a light source on and off (note that this functionality can be offloaded to a shutter device that can be obtained through a callback). Galvos can illuminate a point, or possibly be directed to illuminate a polygon by scanning the two axis and controlling the light source so that only the area with the polygon is illuminated. Currently known implementations are Utilities-DAGalvo (which uses two DAs to control a Galvo), Democamera-Galvo, ASITiger-ASIScanner, and Rapp. There is no integration with a detector as would be needed for a confocal microscope, and there is also no support for waveforms.

Member Function Documentation

+ +

◆ AddPolygonVertex()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual int MM::Galvo::AddPolygonVertex (int polygonIndex,
double x,
double y 
)
+
+pure virtual
+
+

A galvo device in principle can draw arbitrary polygons. Polygons are added added here point by point. There is nothing in the API that prevents adding polygons in random order, but most implementations so far do not deal with that well (i.e. expect polygons to be added in incremental order). Vertex points are added in order and can not be modified through the API after adding (only way is to delete all polygons and start anew).

+
Returns
errorcode (DEVICE_OK if no error)
+ +
+
+ +

◆ DeletePolygons()

+ +
+
+ + + + + +
+ + + + + + + +
virtual int MM::Galvo::DeletePolygons ()
+
+pure virtual
+
+

Deletes all polygons previously stored in the device adapater.

Returns
errorcode (DEVICE_OK if no error)
+ +
+
+ +

◆ GetChannel()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual int MM::Galvo::GetChannel (char * channelName)
+
+pure virtual
+
+

It is completely unclear what this function is supposed to do. Deprecate?.

Returns
errorcode (DEVICE_OK if no error)
+ +
+
+ +

◆ GetPosition()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual int MM::Galvo::GetPosition (double & x,
double & y 
)
+
+pure virtual
+
+

Returns the current position of the two axes (usually the last position that was set, although this may be different for Galvo devices that also can be controlled through another source).

Returns
errorcode (DEVICE_OK if no error)
+ +
+

◆ GetXMinimum()

@@ -290,7 +412,7 @@

-

X range of the device in native units

+

X range of the device in native units.

@@ -316,7 +438,7 @@

-

Minimum Y value for the device in native units Must be implemented if it is not 0.0

+

Minimum Y value for the device in native units. Must be implemented if it is not 0.0.

@@ -342,7 +464,33 @@

-

Y range of the device in native units

+

Y range of the device in native units.

+ + + +
+

◆ LoadPolygons()

+ +
+
+ + + + + +
+ + + + + + + +
virtual int MM::Galvo::LoadPolygons ()
+
+pure virtual
+
+

Transfers the polygons from the device adapter memory to the Galvo controller. Should be called before RunPolygons() or RunSequence(). This is mainly an optimization so that the device adapter does not need to transfer each vertex individually. Some Galvo device adapters will do nothing in this function.

Returns
errorcode (DEVICE_OK if no error)
@@ -385,7 +533,203 @@

-

Moves the galvo devices to the requested position, activates the light source, waits for the specified amount of time (in microseconds), and deactivates the light source

+

Moves the galvo devices to the requested position, activates the light source, waits for the specified amount of time (in microseconds), and deactivates the light source.

Returns
errorcode (DEVICE_OK if no error)
+ + + +
+

◆ RunPolygons()

+ +
+
+ + + + + +
+ + + + + + + +
virtual int MM::Galvo::RunPolygons ()
+
+pure virtual
+
+

Displays each pre-loaded polygon in sequence, each illuminated for pulseinterval_us micro-seconds.

Returns
errorcode (DEVICE_OK if no error)
+ +
+
+ +

◆ RunSequence()

+ +
+
+ + + + + +
+ + + + + + + +
virtual int MM::Galvo::RunSequence ()
+
+pure virtual
+
+

Presumably the idea of this function is to have the Galvo draw the each polygon in the pre-loaded sequence after its controller receives a TTL trigger. This is not likely to be supported by all Galvo devices. There currently is no API method to query whether Sequences are supported. When the number of TTLs exceeds the number of polygons, the desired behavior is to repeat the sequence from the beginning.

Returns
errorcode (DEVICE_OK if no error)
+ +
+
+ +

◆ SetIlluminationState()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual int MM::Galvo::SetIlluminationState (bool on)
+
+pure virtual
+
+

Switches the light source under control of this device on or off. If light control through a Shutter device is desired, a property should be added that can be set to the name of the lightsource.

Returns
errorcode (DEVICE_OK if no error)
+ +
+
+ +

◆ SetPolygonRepetitions()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual int MM::Galvo::SetPolygonRepetitions (int repetitions)
+
+pure virtual
+
+

Sets the number of times the polygons should be displayed in the RunPolygons function.

Returns
errorcode (DEVICE_OK if no error)
+ +
+
+ +

◆ SetPosition()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual int MM::Galvo::SetPosition (double x,
double y 
)
+
+pure virtual
+
+

Sets the position of the two axes of the Galvo device in native unit (usually through a voltage that controls the galvo posiution).

Returns
errorcode (DEVICE_OK if no error)
+ +
+
+ +

◆ SetSpotInterval()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual int MM::Galvo::SetSpotInterval (double pulseInterval_us)
+
+pure virtual
+
+

This function seems to be misnamed. Its name suggest that it is the interval between illuminating two consecutive spots, but in practice it is used to set the time a single spot is illuminated (and the time to move between two spots is usually extremely short).

Returns
errorcode (DEVICE_OK if no error)
+ +
+
+ +

◆ StopSequence()

+ +
+
+ + + + + +
+ + + + + + + +
virtual int MM::Galvo::StopSequence ()
+
+pure virtual
+
+

Stops the TTL triggered transitions of drawing polygons started in RunSequence().

Returns
errorcode (DEVICE_OK if no error)
diff --git a/MMDevice/latest/class_m_m_1_1_s_l_m.html b/MMDevice/latest/class_m_m_1_1_s_l_m.html index f5da368..6b324f7 100644 --- a/MMDevice/latest/class_m_m_1_1_s_l_m.html +++ b/MMDevice/latest/class_m_m_1_1_s_l_m.html @@ -232,7 +232,7 @@  

Detailed Description

-

SLM API

+

Spatial Ligh Modulator (SLM) API. An SLM is a device that can display images. It is expected to represent a rectangular grid (i.e. it has width and height) of pixels that can be either 8 bit or 32 bit. Illumination (light source on or off) is logically independent of displaying the image. Likely the most widely used implmentation is the GenericSLM.

Member Function Documentation

◆ AddToSLMSequence() [1/2]

diff --git a/MMDevice/latest/functions.html b/MMDevice/latest/functions.html index cace1a3..c82c580 100644 --- a/MMDevice/latest/functions.html +++ b/MMDevice/latest/functions.html @@ -45,6 +45,9 @@

- a -

  • AddAllowedValue() : CDeviceBase< T, U >
  • +
  • AddPolygonVertex() +: MM::Galvo +
  • AddTag() : CCameraBase< U > , MM::Camera diff --git a/MMDevice/latest/functions_d.html b/MMDevice/latest/functions_d.html index 2db905a..8c19d55 100644 --- a/MMDevice/latest/functions_d.html +++ b/MMDevice/latest/functions_d.html @@ -42,6 +42,9 @@
    Here is a list of all documented class members with links to the class documentation for each member:

    - d -

      +
    • DeletePolygons() +: MM::Galvo +
    • DetectInstalledDevices() : HubBase< U > , MM::Hub diff --git a/MMDevice/latest/functions_func.html b/MMDevice/latest/functions_func.html index bbad024..6188ecf 100644 --- a/MMDevice/latest/functions_func.html +++ b/MMDevice/latest/functions_func.html @@ -45,6 +45,9 @@

      - a -

      • AddAllowedValue() : CDeviceBase< T, U >
      • +
      • AddPolygonVertex() +: MM::Galvo +
      • AddTag() : CCameraBase< U > , MM::Camera diff --git a/MMDevice/latest/functions_func_d.html b/MMDevice/latest/functions_func_d.html index b5c2a6e..81c03ba 100644 --- a/MMDevice/latest/functions_func_d.html +++ b/MMDevice/latest/functions_func_d.html @@ -42,6 +42,9 @@  

        - d -

diff --git a/MMDevice/latest/functions_func_s.html b/MMDevice/latest/functions_func_s.html index 435d0d9..8816856 100644 --- a/MMDevice/latest/functions_func_s.html +++ b/MMDevice/latest/functions_func_s.html @@ -90,6 +90,9 @@

- s -