add Motic Microscope SDK supports
authorchenj <chenj@2c67d6c2-4361-4cd7-bd83-1149b1926c9b>
Wed, 21 Mar 2012 02:17:51 +0000 (02:17 +0000)
committerchenj <chenj@2c67d6c2-4361-4cd7-bd83-1149b1926c9b>
Wed, 21 Mar 2012 02:17:51 +0000 (02:17 +0000)
git-svn-id: https://valelab.ucsf.edu/svn/3rdpartypublic@114 2c67d6c2-4361-4cd7-bd83-1149b1926c9b

Motic/MoticMicroscopeSDK.h [new file with mode: 0644]
Motic/x64/MMSDK.lib [new file with mode: 0644]
Motic/x86/MMSDK.lib [new file with mode: 0644]

diff --git a/Motic/MoticMicroscopeSDK.h b/Motic/MoticMicroscopeSDK.h
new file mode 100644 (file)
index 0000000..c6ad993
--- /dev/null
@@ -0,0 +1,270 @@
+#pragma once\r
+\r
+/**\r
+\brief ÔØÎį̈ʼþ\r
+*/\r
+#define XY_MOVING (0)\r
+#define XY_MOVED (1)\r
+/**\r
+\brief Z Öáʼþ\r
+*/\r
+#define Z_MOVING (10)\r
+#define Z_MOVED (11)\r
+/**\r
+\brief Îᄉʼþ\r
+*/\r
+#define OBJECTIVE_CHANGING (20)\r
+#define OBJECTIVE_PRECHANGED (21)\r
+#define OBJECTIVE_CHANGED (22)\r
+/**\r
+\brief ÕÕÃ÷ʼþ\r
+*/\r
+#define ILLUMINATION_CHANGED (30)\r
+\r
+\r
+/**\r
+\brief ÏÔ΢¾µÊ¼þ»Øµ÷º¯Êý\r
+*/\r
+typedef void (*fnEventHandler)(int eventId, int data, void* userdata);\r
+\r
+/**\r
+\brief ³õʼ»¯ÏÔ΢¾µ\r
+*/\r
+int mms_Initialize(const wchar_t* configpath);\r
+\r
+/**\r
+\brief ·´³õʼ»¯ÏÔ΢¾µ\r
+*/\r
+void mms_Uninitialize();\r
+\r
+/**\r
+\brief ÉèÖÃÏÔ΢¾µ»Øµ÷º¯Êý\r
+*/\r
+void mms_SetEventHandler(fnEventHandler eh, void* userdata);\r
+\r
+/**\r
+\brief ÔØÎį̈ÊÇ·ñ¿ÉÓÃ\r
+*/\r
+bool xy_Available();\r
+\r
+/**\r
+\brief ÊÇ·ñÕýÔÚÒƶ¯¡£          \r
+*/\r
+bool xy_IsMoving();\r
+\r
+/**\r
+\brief »ñÈ¡x·½ÏòµÄ·¶Î§¡£\r
+\param min ×îСλÖÃ(΢Ã×)¡£\r
+\param max ×î´óλÖÃ(΢Ã×)¡£\r
+*/\r
+void xy_XRange(double* min,double* max);\r
+\r
+/**\r
+\brief »ñÈ¡y·½ÏòµÄ·¶Î§¡£\r
+\param min ×îСλÖÃ(΢Ã×)¡£\r
+\param max ×î´óλÖÃ(΢Ã×)¡£\r
+*/\r
+void xy_YRange(double* min,double* max);\r
+\r
+/**\r
+\brief »ñÈ¡Ëٶȷ¶Î§¡£\r
+\param min ×îС¡£\r
+\param max ×î´ó¡£      \r
+*/\r
+void xy_SpeedRange(double* min,double* max);\r
+\r
+/**\r
+\brief »ñÈ¡ÊÓ³¡ÖÐÐĵ±Ç°Î»Öá£\r
+\param positionX [out]xλÖÃ(΢Ã×)¡£\r
+\param positionY [out]yλÖÃ(΢Ã×)¡£\r
+*/\r
+void xy_CurrentPosition(double* positionX,double* positionY);\r
+\r
+/**\r
+\brief Ïà¶ÔÒƶ¯¡£\r
+\param deltaX x·½ÏòÆ«ÒÆÁ¿(΢Ã×)¡£\r
+\param deltaY y·½ÏòÆ«ÒÆÁ¿(΢Ã×)¡£\r
+\param speed ËÙ¶È(΢Ã×/Ãë)¡£\r
+\note Èç¹ûûÓÐÒƶ¯,ÒѾ­´¦ÓÚÄ¿±êλÖòúÉúXY_MOVED£¬\r
+Èç¹ûspeed=0»òÕß´¦ÓÚÎÞ·¨Òƶ¯µÄ״̬,²»²úÉúÈκÎÏûÏ¢,·µ»Øfalse¡£\r
+*/\r
+bool xy_MoveRelatively(double deltaX,double deltaY,double speed);\r
+\r
+/**\r
+\brief Òƶ¯µ½¾ø¶ÔλÖá£\r
+\param positionX xλÖÃ(΢Ã×)¡£\r
+\param positionY yλÖÃ(΢Ã×)¡£\r
+\param speed Ëٶȡ£\r
+\note Èç¹ûûÓÐÒƶ¯,ÒѾ­´¦ÓÚÄ¿±êλÖòúÉúXY_MOVED,\r
+speed=0»òÕß´¦ÓÚÎÞ·¨Òƶ¯µÄ״̬,²»²úÉúÈκÎÏûÏ¢,·µ»Øfalse¡£\r
+*/\r
+bool xy_MoveAbsolutely(double positionX,double positionY,double speed);\r
+\r
+/**\r
+\brief ÍùÒ»¸ö·½ÏòÁ¬ÐøÒƶ¯¡£\r
+\param angle Ô˶¯½Ç¶È,ÄæʱÕëΪÕý,0¶ÈΪxÕý·½Ïò(ÓÒ)£¬(½Ç¶È0~360)¡£\r
+\param speed Ëٶȡ£\r
+\note Èç¹ûûÓÐÒƶ¯,ÒѾ­´¦ÓÚÄ¿±êλÖòúÉúXY_MOVED,\r
+speed=0»òÕß´¦ÓÚÎÞ·¨Òƶ¯µÄ״̬,²»²úÉúÈκÎÏûÏ¢,·µ»Øfalse¡£\r
+*/\r
+bool xy_MoveContinuously(double angle,double speed);\r
+\r
+/**\r
+\brief Í£Ö¹Òƶ¯¡£\r
+*/\r
+void xy_Stop();\r
+\r
+/**\r
+\brief ÉèÖÿջز¹³¥¡£\r
+\param compensationx X Öá¿Õ»Ø²¹³¥Öµ(΢Ã×);\r
+\param compensationy Y Öá¿Õ»Ø²¹³¥Öµ(΢Ã×);\r
+*/\r
+void xy_SetCompensation(double compensationx, double compensationy);\r
+\r
+/**\r
+\brief »ñÈ¡¿Õ»Ø²¹³¥ÉèÖá£\r
+\param compensationx X Öá¿Õ»Ø²¹³¥Öµ(΢Ã×);\r
+\param compensationy Y Öá¿Õ»Ø²¹³¥Öµ(΢Ã×);\r
+*/\r
+void xy_GetCompensation(double* compensationx, double* compensationy);\r
+\r
+/**\r
+\brief »ñÈ¡Ó²¼þÔ˶¯±ÈÀý¡£\r
+\param scaleX [out]΢Ã×/Ó²¼þÒƶ¯µ¥Î»£¨µç»ú²½³¤µÈ£©¡£\r
+\param scaleY [out]΢Ã×/Ó²¼þÒƶ¯µ¥Î»£¨µç»ú²½³¤µÈ£©¡£\r
+*/\r
+void xy_GetHardwareMotionScale(double* scaleX,double* scaleY);\r
+\r
+/**\r
+\brief Z ÖáÊÇ·ñ¿ÉÓÃ\r
+*/\r
+bool z_Available();\r
+\r
+/**\r
+\brief ÊÇ·ñÕýÔÚÒƶ¯¡£          \r
+*/\r
+bool z_IsMoving();\r
+\r
+/**\r
+\brief »ñÈ¡Òƶ¯·¶Î§¡£\r
+\param min ×îСλÖÃ(΢Ã×)¡£\r
+\param max ×î´óλÖÃ(΢Ã×)¡£\r
+*/\r
+void z_Range(double* min,double* max);\r
+\r
+/**\r
+\brief »ñÈ¡Ëٶȷ¶Î§¡£\r
+\param min ×îС¡£\r
+\param max ×î´ó¡£\r
+*/\r
+void z_SpeedRange(double* min,double* max);\r
+\r
+/**\r
+\brief »ñÈ¡µ±Ç°Î»Öá£(΢Ã×)            \r
+*/\r
+double z_CurrentPosition();\r
+\r
+/**\r
+\brief Ïà¶ÔÒƶ¯¡£\r
+\param delta Ïà¶ÔλÒÆ(΢Ã×)¡£\r
+\param speed Ëٶȡ£\r
+\note Èç¹ûûÓÐÒƶ¯,ÒѾ­´¦ÓÚÄ¿±êλÖòúÉúZ_MOVED£¬\r
+speed=0»òÕß´¦ÓÚÎÞ·¨Òƶ¯µÄ״̬,²»²úÉúÈκÎÏûÏ¢,·µ»Øfalse¡£\r
+*/\r
+bool z_MoveRelatively(double delta,double speed);\r
+\r
+/**\r
+\brief Òƶ¯µ½¾ø¶ÔλÖá£\r
+\param position Î»ÖÃ(΢Ã×)¡£\r
+\param speed Ëٶȡ£\r
+\note Èç¹ûûÓÐÒƶ¯,ÒѾ­´¦ÓÚÄ¿±êλÖòúÉúZ_MOVED£¬\r
+speed=0»òÕß´¦ÓÚÎÞ·¨Òƶ¯µÄ״̬,²»²úÉúÈκÎÏûÏ¢,·µ»Øfalse¡£\r
+*/\r
+bool z_MoveAbsolutely(double position,double speed);\r
+\r
+/**\r
+\brief ÍùÒ»¸ö·½Ïò½øÐÐÁ¬ÐøÒƶ¯¡£\r
+\param dir ·½Ïò,true:Õý·½Ïò,false:¸º·½Ïò¡£\r
+\param speed Ëٶȡ£\r
+\note Èç¹ûûÓÐÒƶ¯,ÒѾ­´¦ÓÚÄ¿±êλÖòúÉúZ_MOVED£¬\r
+speed=0»òÕß´¦ÓÚÎÞ·¨Òƶ¯µÄ״̬,²»²úÉúÈκÎÏûÏ¢,·µ»Øfalse¡£\r
+*/\r
+bool z_MoveContinuously(bool dir,double speed);\r
+\r
+/**\r
+\brief Í£Ö¹¡£\r
+*/\r
+void z_Stop();\r
+\r
+/**\r
+\brief ÉèÖÿջز¹³¥¡£\r
+\param compensation ¿Õ»Ø²¹³¥Öµ(΢Ã×);\r
+*/\r
+void z_SetCompensation(double compensation);\r
+\r
+/**\r
+\brief »ñÈ¡¿Õ»Ø²¹³¥ÉèÖá£\r
+\return ¿Õ»Ø²¹³¥ÉèÖÃ(΢Ã×)¡£\r
+*/\r
+double z_GetCompensation();\r
+\r
+/**\r
+\brief »ñÈ¡Ó²¼þÔ˶¯±ÈÀý¡£(΢Ã×/Ó²¼þÒƶ¯µ¥Î»(µç»ú²½³¤µÈ))¡£\r
+*/\r
+double z_GetHardwareMotionScale();\r
+\r
+\r
+/**\r
+\brief Îï¾µÊÇ·ñ¿ÉÓÃ\r
+*/\r
+bool obj_Available();\r
+\r
+/**\r
+\brief »ñÈ¡Îï¾µÊýÁ¿¡£\r
+*/\r
+int obj_GetCount();\r
+\r
+/**\r
+\brief »ñÈ¡Îï¾µ·Å´ó±¶Êý¡£\r
+\param n [in]»ùÓÚ0µÄÎï¾µË÷Òý¡£\r
+*/\r
+double obj_GetObjectiveMagnification(int n);\r
+\r
+/**\r
+\brief Çл»Îï¾µ¡£\r
+\param n [in]Ä¿±êÎï¾µË÷Òý¡£\r
+*/\r
+bool obj_SwitchObjective(int n);\r
+\r
+/**\r
+\brief »ñÈ¡µ±Ç°Îï¾µ¡£\r
+\return Îï¾µË÷Òý¡£\r
+*/\r
+int obj_GetCurrentObjective();\r
+\r
+\r
+/**\r
+\brief ÕÕÃ÷ÊÇ·ñ¿ÉÓÃ\r
+*/\r
+bool illumination_Available();\r
+\r
+/**\r
+\brief »ñÈ¡ÕÕÃ÷Öµ·¶Î§¡£\r
+\param min [out]×îСֵ¡£\r
+\param max [out]×î´óÖµ¡£               \r
+*/\r
+void illumination_GetRange(int* min,int* max);\r
+\r
+/**\r
+\brief »ñÈ¡ÕÕÃ÷Öµ¡£\r
+\return µ±Ç°ÕÕÃ÷Öµ¡£\r
+\see SetValue\r
+*/\r
+int illumination_GetValue();\r
+\r
+/**\r
+\brief ÉèÖÃÕÕÃ÷Öµ¡£\r
+\param val [in]ÕÕÃ÷Öµ¡£\r
+\see GetValue\r
+*/\r
+void illumination_SetValue(int val);
\ No newline at end of file
diff --git a/Motic/x64/MMSDK.lib b/Motic/x64/MMSDK.lib
new file mode 100644 (file)
index 0000000..54194b6
Binary files /dev/null and b/Motic/x64/MMSDK.lib differ
diff --git a/Motic/x86/MMSDK.lib b/Motic/x86/MMSDK.lib
new file mode 100644 (file)
index 0000000..e97cc9d
Binary files /dev/null and b/Motic/x86/MMSDK.lib differ