Device CMMCore::getShutterOpen() unknown Error in Device

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Device CMMCore::getShutterOpen() unknown Error in Device

lashford
Nico,
       I am having trouble deploying my adapter due to an error I get when MM loads my adapter (configuration file). The error is as follows;
    Device CMMCore::getShutterOpen() Error in device Spectra: Unknown error in the device. MM then  exits (shuts down)  completely at this point. I get the same result defining a new configuration that includes my adapter. The configuiration goes ok up to the point where i save the configuration and mm reloads it. At this  point I get the above indicated error and MM shuts down.
      I have placed debug statements in my code and know that I get through the initialization of the adapter with no problem. I am, however, confused as I would expect the getShutterOpen() to call my Spectra::GetOpen() function where I would return the current State of the shutter. I have placed debug statements in this module but it is never called that I can see. I am therefor perplexed as to why I get this error and what I need to do to correct it.
      I have run the Core and Module tests and do not get errors with those. I am updating from the repository and using the latest MM library files.

      What would you recommend? I have been struggling with this error for several days and still do not know what the cause is.

      Thanks
       Louis
Reply | Threaded
Open this post in threaded view
|

Re: Device CMMCore::getShutterOpen() unknown Error in Device

Nico Stuurman
Administrator
Hi Louis,

>       I am having trouble deploying my adapter due to an error I get when
> MM loads my adapter (configuration file). The error is as follows;
>    Device CMMCore::getShutterOpen() Error in device Spectra: Unknown error
> in the device. MM then  exits (shuts down)  completely at this point. I get
> the same result defining a new configuration that includes my adapter.

Sounds like a build problem.  You could try updating the Micro-Manager source code to the latest version, do a (clean) rebuild of your adapter, and copy that code into an installed version of the latest nightly build.  If the problem persist, I would suspect that something in your build settings is incorrect.  Try building one of the device adapters included with the Micro-Manager source and see if it has the same issue,


> The configuiration goes ok up to the point where i save the configuration and mm
> reloads it. At this  point I get the above indicated error and MM shuts
> down.
>      I have placed debug statements in my code and know that I get through
> the initialization of the adapter with no problem. I am, however, confused
> as I would expect the getShutterOpen() to call my Spectra::GetOpen()
> function where I would return the current State of the shutter. I have
> placed debug statements in this module but it is never called that I can
> see. I am therefor perplexed as to why I get this error and what I need to
> do to correct it.
>      I have run the Core and Module tests and do not get errors with those.
> I am updating from the repository and using the latest MM library files.


Best,

Nico


------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual
desktops for less than the cost of PCs and save 60% on VDI infrastructure
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
micro-manager-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/micro-manager-general
Reply | Threaded
Open this post in threaded view
|

driver compatibility issue with Prior XY stage and older H128 controller

Michael Z Lin
Dear Nico et al:

We have been trying to get Micromanager to run a Prior XY stage with an older H128 controller. We have unsuccessfully tried Micromanager 1.1, 1.2, 1.3, and 1.4 using a PC running Windows 7, a serial RS232 PCI adapter, and a null modem cable. We have also been unsuccessful with MM 1.1, 1.2, 1.3, and 1.4 on Mac OSX via two different USB-serial adapters. The problem is that all XY positions get recorded as 0,0. Trying to go to a recorded position results in a serial error 22 and the stage moving to its origin. Reading and moving commands issued via a terminal program like Prior's own PriorTerminal work just fine (that is also where one can reset the origin) so we know serial communication is working.

The H128 controller commandset (as described in www.prioruk.com/downloadcentre/documents/operatingmanuals/H128%20(H152KB).pdf) is not as extensive as the current H129 controller. In the corelog I can see MM is issuing the comp,0 command (so the H129 won't expect H128 commands) and the $ command to query H129 status. These commands are not in the H128 vocabulary and result in timeout errors with the H128. However for reading stage position, MM uses the conserved commands PX and PY, which the H128 does reply to with non-zero values as seen in the corelog, so this basic function does work. Yet, the XY values returned by the H128 don't seem to register as the numbers in the XY list are all 0,0. Also the queries seem to be repeated; I don't know if that's normal.

Would it be possible to revise the Prior adapter to work with the H128? Maybe something like a separate entry that we can select in the hardware config wizard (something like XYStageH128) for the older H128 controller which can record the XY values returned from H128, and will specify the stage as a non-sync device so we can add a manual delay during hardware configuration?

In case it helps, the corelog output from a simple session of starting MM, logging 3 points, and quitting is below.
 
By the way we also tried to get a newer H129 controller but it would not recognized and run the stage unfortunately.

Thank you very much in advance for your help, and happy New Year!



LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): -------->>
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): Core session started on 2011-12-29T17:46:45.443037 by Lin Lab on LINLAB-XPS200
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): Debug logging disabled
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): Debug logging enabled
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): > MM Studio version: 1.4.6
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): > MMCore version 2.3.1
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): > Device API version 45, Module API version 7
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): > Operating System: Windows 7 6.1
DBG(2011-12-29T17:46:45.443037, 2156, t:00566A48:) Circular buffer set to 25 MB.
LOG(2011-12-29T17:46:48.219842, 2156, 00566A48:): > Attempting to install plugin org.micromanager.clojureeditor.ClojureEditorPlugin
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.browser.Data_Browser
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Error: Data_Browser fails to implement static String menuName.
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.multicamera.MultiCamera
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.pixelcalibrator.PixelCalibratorPlugin
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.projector.ProjectorPlugin
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.recall.RecallPlugin
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.slideexplorer.SlideExplorerPlugin
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.splitview.SplitView
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.stagecontrol.StageControl
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install autofocus plugin Autofocus
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install autofocus plugin OughtaFocus
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install autofocus plugin AutofocusDuo
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install autofocus plugin AutofocusTB
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install autofocus plugin OughtaFocus
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): All devices unloaded.
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=Core, name=Initialize, value=0
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Device COM5 loaded from SerialManager and labeled as COM5
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Device COM3 loaded from SerialManager and labeled as COM3
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Device COM4 loaded from SerialManager and labeled as COM4
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Device XYStage loaded from Prior and labeled as XYStage
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Device XYStage set as default xyStage.
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=XYStage, name=Port, value=COM5
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=AnswerTimeout, value=2500.0000
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=BaudRate, value=9600
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=DelayBetweenCharsMs, value=0.0000
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=Handshaking, value=Off
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=Parity, value=None
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=StopBits, value=1
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=Verbose, value=1
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Starting initialization sequence for 4 devices...
DBG(2011-12-29T17:46:51.074647, 2156, t:00566A48:) Device COM5 debug message: Attempting to set baud of COM5 to 9600
DBG(2011-12-29T17:46:51.074647, 2156, t:00566A48:) Device COM5 debug message: Attempting to set flow of COM5 to none
DBG(2011-12-29T17:46:51.074647, 2156, t:00566A48:) Device COM5 debug message: Attempting to set parity of COM5 to none
DBG(2011-12-29T17:46:51.074647, 2156, t:00566A48:) Device COM5 debug message: Attempting to set stopBits of COM5 to 1
LOG(2011-12-29T17:46:51.074647, 2156, 00566A48:): Device COM5 initialized.
DBG(2011-12-29T17:46:51.374048, 2156, t:00566A48:) Device COM3 debug message: Attempting to set baud of COM3 to 9600
DBG(2011-12-29T17:46:51.374048, 2156, t:00566A48:) Device COM3 debug message: Attempting to set flow of COM3 to none
DBG(2011-12-29T17:46:51.374048, 2156, t:00566A48:) Device COM3 debug message: Attempting to set parity of COM3 to none
DBG(2011-12-29T17:46:51.374048, 2156, t:00566A48:) Device COM3 debug message: Attempting to set stopBits of COM3 to 1
LOG(2011-12-29T17:46:51.375048, 2156, 00566A48:): Device COM3 initialized.
DBG(2011-12-29T17:46:51.376048, 2156, t:00566A48:) Device COM4 debug message: Attempting to set baud of COM4 to 9600
DBG(2011-12-29T17:46:51.377048, 2156, t:00566A48:) Device COM4 debug message: Attempting to set flow of COM4 to none
DBG(2011-12-29T17:46:51.377048, 2156, t:00566A48:) Device COM4 debug message: Attempting to set parity of COM4 to none
DBG(2011-12-29T17:46:51.377048, 2156, t:00566A48:) Device COM4 debug message: Attempting to set stopBits of COM4 to 1
LOG(2011-12-29T17:46:51.378048, 2156, 00566A48:): Device COM4 initialized.
DBG(2011-12-29T17:46:51.379048, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> comp,0DBG(2011-12-29T17:46:51.579060, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 201
DBG(2011-12-29T17:46:51.779071, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 402
DBG(2011-12-29T17:46:51.979082, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 603
DBG(2011-12-29T17:46:52.179094, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 804
DBG(2011-12-29T17:46:52.379105, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1005
DBG(2011-12-29T17:46:52.579117, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1206
DBG(2011-12-29T17:46:52.779128, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1406
DBG(2011-12-29T17:46:52.979140, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1607
DBG(2011-12-29T17:46:53.179151, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1808
DBG(2011-12-29T17:46:53.379162, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2009
DBG(2011-12-29T17:46:53.579174, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2210
DBG(2011-12-29T17:46:53.779185, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2411
LOG(2011-12-29T17:46:53.879191, 2156, 00566A48:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-29T17:46:53.879191, 2156, 00566A48:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

LOG(2011-12-29T17:46:53.879191, 2156, 00566A48:): Device XYStage initialized.
DBG(2011-12-29T17:46:53.879191, 2156, t:00566A48:) Property set: device=Core, name=Initialize, value=1
LOG(2011-12-29T17:46:53.879191, 2156, 00566A48:): Auto shutter ON.
DBG(2011-12-29T17:46:53.879191, 2156, t:00566A48:) Property set: device=Core, name=AutoShutter, value=1
DBG(2011-12-29T17:46:53.879191, 2156, t:00566A48:) Waiting for device COM5...
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Waiting for device COM3...
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Waiting for device COM4...
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Waiting for device XYStage...
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> $DBG(2011-12-29T17:46:54.080203, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 201
DBG(2011-12-29T17:46:54.280214, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 402
DBG(2011-12-29T17:46:54.480225, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 603
DBG(2011-12-29T17:46:54.680237, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 804
DBG(2011-12-29T17:46:54.880248, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1005
DBG(2011-12-29T17:46:55.080260, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1206
DBG(2011-12-29T17:46:55.280271, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1407
DBG(2011-12-29T17:46:55.480283, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1608
DBG(2011-12-29T17:46:55.680294, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1809
DBG(2011-12-29T17:46:55.880306, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2010
DBG(2011-12-29T17:46:56.080317, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2211
DBG(2011-12-29T17:46:56.280328, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2412
LOG(2011-12-29T17:46:56.380334, 2156, 00566A48:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-29T17:46:56.380334, 2156, 00566A48:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

DBG(2011-12-29T17:46:56.380334, 2156, t:00566A48:) Finished waiting.
LOG(2011-12-29T17:46:56.381334, 2156, 00566A48:): System state cache updated.
DBG(2011-12-29T17:46:56.390335, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:46:56.559344, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 170
DBG(2011-12-29T17:46:56.559344, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:46:56.559344, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:46:56.727354, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 169
DBG(2011-12-29T17:46:56.727354, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
LOG(2011-12-29T17:46:56.734354, 2156, 00566A48:): > Startup script file (C:\Program Files\Micro-Manager-1.4/MMStartup.bsh) not present.
DBG(2011-12-29T17:46:57.317388, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:46:57.472397, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 156
DBG(2011-12-29T17:46:57.472397, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:46:57.472397, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:46:57.638406, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 167
DBG(2011-12-29T17:46:57.638406, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
DBG(2011-12-29T17:47:00.825588, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:00.976597, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 152
DBG(2011-12-29T17:47:00.976597, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:47:00.976597, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:01.143607, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:01.143607, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
DBG(2011-12-29T17:47:01.143607, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:01.310616, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:01.310616, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:47:01.310616, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:01.477626, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:01.477626, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
DBG(2011-12-29T17:47:05.262842, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:05.429852, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:05.429852, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:47:05.429852, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:05.596861, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:05.596861, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
DBG(2011-12-29T17:47:05.596861, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:05.763871, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:05.763871, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:47:05.763871, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:05.930880, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:05.930880, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
DBG(2011-12-29T17:47:09.719097, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:09.883106, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 165
DBG(2011-12-29T17:47:09.883106, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 11989
DBG(2011-12-29T17:47:09.883106, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:10.049116, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 167
DBG(2011-12-29T17:47:10.049116, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -537
DBG(2011-12-29T17:47:10.049116, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:10.221126, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 173
DBG(2011-12-29T17:47:10.221126, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 11989
DBG(2011-12-29T17:47:10.221126, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:10.386135, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 166
DBG(2011-12-29T17:47:10.386135, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -537
DBG(2011-12-29T17:47:12.734270, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:12.906279, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 172
DBG(2011-12-29T17:47:12.906279, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 11989
DBG(2011-12-29T17:47:12.906279, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:13.073289, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:13.073289, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -6809
DBG(2011-12-29T17:47:13.073289, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:13.244299, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 172
DBG(2011-12-29T17:47:13.244299, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 11989
DBG(2011-12-29T17:47:13.244299, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:13.414308, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 171
DBG(2011-12-29T17:47:13.414308, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -6809
DBG(2011-12-29T17:47:19.338647, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:19.502657, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 164
DBG(2011-12-29T17:47:19.502657, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 11989
DBG(2011-12-29T17:47:19.502657, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:19.673666, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 172
DBG(2011-12-29T17:47:19.673666, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -6809
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Waiting for device COM5...
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Waiting for device COM3...
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Waiting for device COM4...
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Waiting for device XYStage...
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> $
DBG(2011-12-29T17:47:27.950140, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 201
DBG(2011-12-29T17:47:28.150151, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 402
DBG(2011-12-29T17:47:28.350163, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 603
DBG(2011-12-29T17:47:28.550174, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 804
DBG(2011-12-29T17:47:28.750186, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1005
DBG(2011-12-29T17:47:28.950197, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1206
DBG(2011-12-29T17:47:29.150208, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1407
DBG(2011-12-29T17:47:29.350220, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1608
DBG(2011-12-29T17:47:29.550231, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1809
DBG(2011-12-29T17:47:29.750243, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2010
DBG(2011-12-29T17:47:29.950254, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2211
DBG(2011-12-29T17:47:30.150266, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2412
LOG(2011-12-29T17:47:30.250271, 2156, 00566A48:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-29T17:47:30.250271, 2156, 00566A48:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

DBG(2011-12-29T17:47:30.250271, 2156, t:00566A48:) Finished waiting.

------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual
desktops for less than the cost of PCs and save 60% on VDI infrastructure
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
micro-manager-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/micro-manager-general
Reply | Threaded
Open this post in threaded view
|

Re: driver compatibility issue with Prior XY stage and older H128 controller

lashford
Michael,
      I am an independent SW/HW developer and have developed software in the past to control a Prior XY stage in one application.  I have reviewed the H128 documentation you posted and its not really so complex so I think that there is certainly a simple work around that might get you going. It sounds as if you have already spent quite a bit of time trying to get this working in your application.
 
     I have designed specialized hardware devices in the past to solve some difficult interface problems.  In this case the device could be a smart USB to serial adapter but one that can pass/not pass or even modify commands based upon some criteria.. The beauty of such a device is that it would not require any changes to the Prior Micromanager adapter and it would likely work for your Mac or PC since it is primarily a pass through device.
 
    A cleaner approach would be to build a new Micromanager Device adapter specifically for the h128. I could do certainly do this for you as well. Prior Scientific would be the best ones to do it as it is their product. They may or may not be interested in devoting time to it depending upon the where the product is in its life cycle and how much demand they may have from others like you for such a solution.
   Have you talked to them about a revised MM Adapter for this purpose?
 
   You are welcome to contact me if you have any questions.
  
    Respectfully,
 
    Louis Ashford
   
 
On Thu, Dec 29, 2011 at 6:38 PM, Michael Z Lin [via Micro-Manager] <[hidden email]> wrote:
Dear Nico et al:

We have been trying to get Micromanager to run a Prior XY stage with an older H128 controller. We have unsuccessfully tried Micromanager 1.1, 1.2, 1.3, and 1.4 using a PC running Windows 7, a serial RS232 PCI adapter, and a null modem cable. We have also been unsuccessful with MM 1.1, 1.2, 1.3, and 1.4 on Mac OSX via two different USB-serial adapters. The problem is that all XY positions get recorded as 0,0. Trying to go to a recorded position results in a serial error 22 and the stage moving to its origin. Reading and moving commands issued via a terminal program like Prior's own PriorTerminal work just fine (that is also where one can reset the origin) so we know serial communication is working.

The H128 controller commandset (as described in www.prioruk.com/downloadcentre/documents/operatingmanuals/H128%20(H152KB).pdf) is not as extensive as the current H129 controller. In the corelog I can see MM is issuing the comp,0 command (so the H129 won't expect H128 commands) and the $ command to query H129 status. These commands are not in the H128 vocabulary and result in timeout errors with the H128. However for reading stage position, MM uses the conserved commands PX and PY, which the H128 does reply to with non-zero values as seen in the corelog, so this basic function does work. Yet, the XY values returned by the H128 don't seem to register as the numbers in the XY list are all 0,0. Also the queries seem to be repeated; I don't know if that's normal.

Would it be possible to revise the Prior adapter to work with the H128? Maybe something like a separate entry that we can select in the hardware config wizard (something like XYStageH128) for the older H128 controller which can record the XY values returned from H128, and will specify the stage as a non-sync device so we can add a manual delay during hardware configuration?

In case it helps, the corelog output from a simple session of starting MM, logging 3 points, and quitting is below.
 
By the way we also tried to get a newer H129 controller but it would not recognized and run the stage unfortunately.

Thank you very much in advance for your help, and happy New Year!



LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): -------->>
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): Core session started on 2011-12-29T17:46:45.443037 by Lin Lab on LINLAB-XPS200
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): Debug logging disabled
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): Debug logging enabled
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): > MM Studio version: 1.4.6
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): > MMCore version 2.3.1
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): > Device API version 45, Module API version 7
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): > Operating System: Windows 7 6.1
DBG(2011-12-29T17:46:45.443037, 2156, t:00566A48:) Circular buffer set to 25 MB.
LOG(2011-12-29T17:46:48.219842, 2156, 00566A48:): > Attempting to install plugin org.micromanager.clojureeditor.ClojureEditorPlugin
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.browser.Data_Browser
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Error: Data_Browser fails to implement static String menuName.
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.multicamera.MultiCamera
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.pixelcalibrator.PixelCalibratorPlugin
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.projector.ProjectorPlugin
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.recall.RecallPlugin
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.slideexplorer.SlideExplorerPlugin
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.splitview.SplitView
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.stagecontrol.StageControl
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install autofocus plugin Autofocus
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install autofocus plugin OughtaFocus
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install autofocus plugin AutofocusDuo
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install autofocus plugin AutofocusTB
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install autofocus plugin OughtaFocus
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): All devices unloaded.
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=Core, name=Initialize, value=0
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Device COM5 loaded from SerialManager and labeled as COM5
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Device COM3 loaded from SerialManager and labeled as COM3
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Device COM4 loaded from SerialManager and labeled as COM4
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Device XYStage loaded from Prior and labeled as XYStage
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Device XYStage set as default xyStage.
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=XYStage, name=Port, value=COM5
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=AnswerTimeout, value=2500.0000
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=BaudRate, value=9600
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=DelayBetweenCharsMs, value=0.0000
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=Handshaking, value=Off
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=Parity, value=None
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=StopBits, value=1
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=Verbose, value=1
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Starting initialization sequence for 4 devices...
DBG(2011-12-29T17:46:51.074647, 2156, t:00566A48:) Device COM5 debug message: Attempting to set baud of COM5 to 9600
DBG(2011-12-29T17:46:51.074647, 2156, t:00566A48:) Device COM5 debug message: Attempting to set flow of COM5 to none
DBG(2011-12-29T17:46:51.074647, 2156, t:00566A48:) Device COM5 debug message: Attempting to set parity of COM5 to none
DBG(2011-12-29T17:46:51.074647, 2156, t:00566A48:) Device COM5 debug message: Attempting to set stopBits of COM5 to 1
LOG(2011-12-29T17:46:51.074647, 2156, 00566A48:): Device COM5 initialized.
DBG(2011-12-29T17:46:51.374048, 2156, t:00566A48:) Device COM3 debug message: Attempting to set baud of COM3 to 9600
DBG(2011-12-29T17:46:51.374048, 2156, t:00566A48:) Device COM3 debug message: Attempting to set flow of COM3 to none
DBG(2011-12-29T17:46:51.374048, 2156, t:00566A48:) Device COM3 debug message: Attempting to set parity of COM3 to none
DBG(2011-12-29T17:46:51.374048, 2156, t:00566A48:) Device COM3 debug message: Attempting to set stopBits of COM3 to 1
LOG(2011-12-29T17:46:51.375048, 2156, 00566A48:): Device COM3 initialized.
DBG(2011-12-29T17:46:51.376048, 2156, t:00566A48:) Device COM4 debug message: Attempting to set baud of COM4 to 9600
DBG(2011-12-29T17:46:51.377048, 2156, t:00566A48:) Device COM4 debug message: Attempting to set flow of COM4 to none
DBG(2011-12-29T17:46:51.377048, 2156, t:00566A48:) Device COM4 debug message: Attempting to set parity of COM4 to none
DBG(2011-12-29T17:46:51.377048, 2156, t:00566A48:) Device COM4 debug message: Attempting to set stopBits of COM4 to 1
LOG(2011-12-29T17:46:51.378048, 2156, 00566A48:): Device COM4 initialized.
DBG(2011-12-29T17:46:51.379048, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> comp,0DBG(2011-12-29T17:46:51.579060, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 201
DBG(2011-12-29T17:46:51.779071, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 402
DBG(2011-12-29T17:46:51.979082, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 603
DBG(2011-12-29T17:46:52.179094, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 804
DBG(2011-12-29T17:46:52.379105, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1005
DBG(2011-12-29T17:46:52.579117, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1206
DBG(2011-12-29T17:46:52.779128, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1406
DBG(2011-12-29T17:46:52.979140, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1607
DBG(2011-12-29T17:46:53.179151, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1808
DBG(2011-12-29T17:46:53.379162, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2009
DBG(2011-12-29T17:46:53.579174, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2210
DBG(2011-12-29T17:46:53.779185, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2411
LOG(2011-12-29T17:46:53.879191, 2156, 00566A48:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-29T17:46:53.879191, 2156, 00566A48:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

LOG(2011-12-29T17:46:53.879191, 2156, 00566A48:): Device XYStage initialized.
DBG(2011-12-29T17:46:53.879191, 2156, t:00566A48:) Property set: device=Core, name=Initialize, value=1
LOG(2011-12-29T17:46:53.879191, 2156, 00566A48:): Auto shutter ON.
DBG(2011-12-29T17:46:53.879191, 2156, t:00566A48:) Property set: device=Core, name=AutoShutter, value=1
DBG(2011-12-29T17:46:53.879191, 2156, t:00566A48:) Waiting for device COM5...
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Waiting for device COM3...
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Waiting for device COM4...
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Waiting for device XYStage...
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> $DBG(2011-12-29T17:46:54.080203, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 201
DBG(2011-12-29T17:46:54.280214, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 402
DBG(2011-12-29T17:46:54.480225, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 603
DBG(2011-12-29T17:46:54.680237, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 804
DBG(2011-12-29T17:46:54.880248, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1005
DBG(2011-12-29T17:46:55.080260, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1206
DBG(2011-12-29T17:46:55.280271, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1407
DBG(2011-12-29T17:46:55.480283, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1608
DBG(2011-12-29T17:46:55.680294, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1809
DBG(2011-12-29T17:46:55.880306, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2010
DBG(2011-12-29T17:46:56.080317, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2211
DBG(2011-12-29T17:46:56.280328, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2412
LOG(2011-12-29T17:46:56.380334, 2156, 00566A48:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-29T17:46:56.380334, 2156, 00566A48:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

DBG(2011-12-29T17:46:56.380334, 2156, t:00566A48:) Finished waiting.
LOG(2011-12-29T17:46:56.381334, 2156, 00566A48:): System state cache updated.
DBG(2011-12-29T17:46:56.390335, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:46:56.559344, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 170
DBG(2011-12-29T17:46:56.559344, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:46:56.559344, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:46:56.727354, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 169
DBG(2011-12-29T17:46:56.727354, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
LOG(2011-12-29T17:46:56.734354, 2156, 00566A48:): > Startup script file (C:\Program Files\Micro-Manager-1.4/MMStartup.bsh) not present.
DBG(2011-12-29T17:46:57.317388, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:46:57.472397, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 156
DBG(2011-12-29T17:46:57.472397, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:46:57.472397, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:46:57.638406, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 167
DBG(2011-12-29T17:46:57.638406, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
DBG(2011-12-29T17:47:00.825588, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:00.976597, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 152
DBG(2011-12-29T17:47:00.976597, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:47:00.976597, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:01.143607, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:01.143607, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
DBG(2011-12-29T17:47:01.143607, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:01.310616, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:01.310616, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:47:01.310616, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:01.477626, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:01.477626, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
DBG(2011-12-29T17:47:05.262842, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:05.429852, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:05.429852, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:47:05.429852, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:05.596861, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:05.596861, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
DBG(2011-12-29T17:47:05.596861, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:05.763871, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:05.763871, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:47:05.763871, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:05.930880, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:05.930880, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
DBG(2011-12-29T17:47:09.719097, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:09.883106, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 165
DBG(2011-12-29T17:47:09.883106, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 11989
DBG(2011-12-29T17:47:09.883106, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:10.049116, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 167
DBG(2011-12-29T17:47:10.049116, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -537
DBG(2011-12-29T17:47:10.049116, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:10.221126, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 173
DBG(2011-12-29T17:47:10.221126, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 11989
DBG(2011-12-29T17:47:10.221126, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:10.386135, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 166
DBG(2011-12-29T17:47:10.386135, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -537
DBG(2011-12-29T17:47:12.734270, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:12.906279, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 172
DBG(2011-12-29T17:47:12.906279, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 11989
DBG(2011-12-29T17:47:12.906279, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:13.073289, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:13.073289, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -6809
DBG(2011-12-29T17:47:13.073289, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:13.244299, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 172
DBG(2011-12-29T17:47:13.244299, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 11989
DBG(2011-12-29T17:47:13.244299, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:13.414308, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 171
DBG(2011-12-29T17:47:13.414308, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -6809
DBG(2011-12-29T17:47:19.338647, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:19.502657, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 164
DBG(2011-12-29T17:47:19.502657, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 11989
DBG(2011-12-29T17:47:19.502657, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:19.673666, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 172
DBG(2011-12-29T17:47:19.673666, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -6809
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Waiting for device COM5...
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Waiting for device COM3...
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Waiting for device COM4...
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Waiting for device XYStage...
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> $
DBG(2011-12-29T17:47:27.950140, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 201
DBG(2011-12-29T17:47:28.150151, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 402
DBG(2011-12-29T17:47:28.350163, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 603
DBG(2011-12-29T17:47:28.550174, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 804
DBG(2011-12-29T17:47:28.750186, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1005
DBG(2011-12-29T17:47:28.950197, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1206
DBG(2011-12-29T17:47:29.150208, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1407
DBG(2011-12-29T17:47:29.350220, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1608
DBG(2011-12-29T17:47:29.550231, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1809
DBG(2011-12-29T17:47:29.750243, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2010
DBG(2011-12-29T17:47:29.950254, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2211
DBG(2011-12-29T17:47:30.150266, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2412
LOG(2011-12-29T17:47:30.250271, 2156, 00566A48:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-29T17:47:30.250271, 2156, 00566A48:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

DBG(2011-12-29T17:47:30.250271, 2156, t:00566A48:) Finished waiting.

------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual
desktops for less than the cost of PCs and save 60% on VDI infrastructure
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
micro-manager-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/micro-manager-general



If you reply to this email, your message will be added to the discussion below:
http://micro-manager.3463995.n2.nabble.com/Device-CMMCore-getShutterOpen-unknown-Error-in-Device-tp7136597p7137246.html
To unsubscribe from Device CMMCore::getShutterOpen() unknown Error in Device, click here.
NAML

Reply | Threaded
Open this post in threaded view
|

Re: Device CMMCore::getShutterOpen() unknown Error in Device

lashford
In reply to this post by Nico Stuurman
Nico,
      You were correct the problem was resolved by updating to the nightly build. This is the second time this has caught me so I need to be more careful to do that each time.  
      Thanks very much for your help.
      Louis
Reply | Threaded
Open this post in threaded view
|

Re: driver compatibility issue with Prior XY stage and older H128 controller

Michael Z Lin
In reply to this post by Michael Z Lin
A followup - I realize the corelog output of an attempt to go to an unsuccessfully stored position might be useful as well. It is pasted below.

Here I just started Micromanager, changed the XY position of the stage by joystick, stored the point in the Multi-D acquisition list, whereupon the XY coordinates are shown on the screen as 0,0. I then used to joystick to move the stage elsewhere and asked Micromanager to go to the stored point, whereupon the stage moved to the origin previously stored in the H128 controller using terminal commands, and then MM gave the error message "XY Stage error." I then repeated moving away and going to the stored point again with the same result. By the way I made a mistake in my previous email -- the error message after a failed move-to-point command is not type 22 (sorry I remembered that from elsewhere).

You can see in the corelog that the program asking for XY position elicits non-zero responses, so it is not clear to me why MM stores all positions as 0,0. Then when the go to point command is issued, MM asks to go to -2147483648,-2147483648. It is always this number even when multiple points are stored and in different MM sessions.

Any help you can provide will be greatly appreciated. By the way we have cited MM in the first paper submission from our new lab!

Cheers,
Michael

**************************corelog output pasted below

LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): -------->>
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): Core session started on 2011-12-31T10:00:27.663124 by Lin Lab on LINLAB-XPS200
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): Debug logging disabled
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): Debug logging enabled
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): > MM Studio version: 1.4.7
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): > MMCore version 2.3.1
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): > Device API version 49, Module API version 7
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): > Operating System: Windows Vista 6.1
DBG(2011-12-31T10:00:27.663124, 1936, t:00000000001D2E20:) Circular buffer set to 25 MB.
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.clojureeditor.ClojureEditorPlugin
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.CRISP.CRISP
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.browser.Data_Browser
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Error: Data_Browser fails to implement static String menuName.
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.multicamera.MultiCamera
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.pixelcalibrator.PixelCalibratorPlugin
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.projector.ProjectorPlugin
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.recall.RecallPlugin
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.slideexplorer.SlideExplorerPlugin
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.splitview.SplitView
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.stagecontrol.StageControl
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install autofocus plugin Autofocus
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install autofocus plugin OughtaFocus
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install autofocus plugin AutofocusDuo
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install autofocus plugin AutofocusTB
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install autofocus plugin OughtaFocus
LOG(2011-12-31T10:00:30.985929, 1936, 00000000001D2E20:): > Error: org.micromanager.browser.Data_Browser fails to implement static String tooltipDescription.
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): All devices unloaded.
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): > Notification for Device: Core Property: Initialize changed to value: 0
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=Core, name=Initialize, value=0
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): Device COM5 loaded from SerialManager and labeled as COM5
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): Device XYStage loaded from Prior and labeled as XYStage
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): Device XYStage set as default xyStage.
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=XYStage, name=Port, value=COM5
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=AnswerTimeout, value=2000.0000
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=BaudRate, value=9600
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=DelayBetweenCharsMs, value=0.0000
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=Handshaking, value=Off
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=Parity, value=None
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=StopBits, value=1
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=Verbose, value=0
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): Starting initialization sequence for 2 devices...
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: Attempting to set baud of COM5 to 9600
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: Attempting to set flow of COM5 to none
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: Attempting to set parity of COM5 to none
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: Attempting to set stopBits of COM5 to 1
LOG(2011-12-31T10:00:33.029533, 1936, 00000000001D2E20:): Device COM5 initialized.
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> comp,0

DBG(2011-12-31T10:00:33.232333, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:33.435134, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 28
DBG(2011-12-31T10:00:33.637934, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 42
DBG(2011-12-31T10:00:33.840734, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 56
DBG(2011-12-31T10:00:34.043535, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 70
DBG(2011-12-31T10:00:34.246335, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 84
DBG(2011-12-31T10:00:34.449135, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 98
DBG(2011-12-31T10:00:34.651936, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 112
DBG(2011-12-31T10:00:34.854736, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 126
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Device XYStage initialized.
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): > Notification for Device: Core Property: Initialize changed to value: 1
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Property set: device=Core, name=Initialize, value=1
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Auto shutter ON.
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): > Notification for Device: Core Property: AutoShutter changed to value: 1
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Property set: device=Core, name=AutoShutter, value=1
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Waiting for device COM5...
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Finished waiting.
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Waiting for device XYStage...
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> $

DBG(2011-12-31T10:00:35.244737, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:35.447537, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 28
DBG(2011-12-31T10:00:35.650338, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 42
DBG(2011-12-31T10:00:35.853138, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 56
DBG(2011-12-31T10:00:36.055938, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 70
DBG(2011-12-31T10:00:36.258739, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 84
DBG(2011-12-31T10:00:36.461539, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 98
DBG(2011-12-31T10:00:36.664339, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 112
DBG(2011-12-31T10:00:36.867140, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 126
LOG(2011-12-31T10:00:37.054340, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-31T10:00:37.054340, 1936, 00000000001D2E20:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

DBG(2011-12-31T10:00:37.054340, 1936, t:00000000001D2E20:) Finished waiting.
LOG(2011-12-31T10:00:37.054340, 1936, 00000000001D2E20:): System state cache updated.
LOG(2011-12-31T10:00:37.054340, 1936, 00000000001D2E20:): System state cache updated.
DBG(2011-12-31T10:00:37.054340, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:00:37.241540, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 13
DBG(2011-12-31T10:00:37.241540, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:00:37.241540, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:00:37.444341, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:37.444341, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:37.444341, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
LOG(2011-12-31T10:00:37.444341, 1936, 00000000001D2E20:): > Startup script file (C:\Program Files\Micro-Manager-1.4/MMStartup.bsh) not present.
DBG(2011-12-31T10:00:41.157147, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:00:41.359948, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:41.359948, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:41.359948, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:00:41.359948, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:00:41.562748, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:41.562748, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:41.562748, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:00:41.562748, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:00:41.765548, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:41.765548, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:41.765548, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:00:41.765548, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:00:41.937149, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 12
DBG(2011-12-31T10:00:41.937149, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:00:48.161560, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:00:48.364360, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:48.364360, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:48.364360, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 22869
DBG(2011-12-31T10:00:48.364360, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:00:48.567160, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:48.567160, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:48.567160, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- -19621
DBG(2011-12-31T10:00:48.567160, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:00:48.754361, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 13
DBG(2011-12-31T10:00:48.754361, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 22869
DBG(2011-12-31T10:00:48.754361, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:00:48.957161, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:48.972761, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 16
DBG(2011-12-31T10:00:48.972761, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- -19621
DBG(2011-12-31T10:00:58.285977, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> G,-2147483648,-2147483648

DBG(2011-12-31T10:00:58.488778, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:58.691578, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 28
DBG(2011-12-31T10:00:58.894378, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 42
DBG(2011-12-31T10:00:59.097179, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 56
DBG(2011-12-31T10:00:59.299979, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 70
DBG(2011-12-31T10:00:59.502779, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 84
DBG(2011-12-31T10:00:59.705580, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 98
DBG(2011-12-31T10:00:59.908380, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 112
DBG(2011-12-31T10:01:00.111181, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 126
LOG(2011-12-31T10:01:00.298381, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-31T10:01:00.298381, 1936, 00000000001D2E20:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

LOG(2011-12-31T10:01:00.298381, 1936, 00000000001D2E20:): Error occured. Device XYStage. Error in device XYStage: Serial command failed.  Is the device connected to the serial port?.

LOG(2011-12-31T10:01:00.298381, 1936, 00000000001D2E20:): >
java.lang.Exception: XY stage error in Thread[AWT-EventQueue-0,6,main]
  at org.micromanager.navigation.MultiStagePosition.goToPosition(MultiStagePosition.java:239)
  at org.micromanager.PositionListDlg.goToCurrentPosition(PositionListDlg.java:704)
  at org.micromanager.PositionListDlg$7.actionPerformed(PositionListDlg.java:458)
  at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
  at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
  at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
  at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
  at java.awt.Component.processMouseEvent(Unknown Source)
  at javax.swing.JComponent.processMouseEvent(Unknown Source)
  at java.awt.Component.processEvent(Unknown Source)
  at java.awt.Container.processEvent(Unknown Source)
  at java.awt.Component.dispatchEventImpl(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Window.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.EventQueue.dispatchEvent(Unknown Source)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.run(Unknown Source)


DBG(2011-12-31T10:01:01.733583, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:01:01.920784, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 13
DBG(2011-12-31T10:01:01.920784, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:01.920784, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:01:02.123584, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:02.123584, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:01:02.123584, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:02.123584, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:01:02.326384, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:02.326384, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:01:02.326384, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:02.326384, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:01:02.529185, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:02.529185, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:01:02.529185, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:07.287193, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> G,-2147483648,-2147483648

DBG(2011-12-31T10:01:07.489994, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:07.692794, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 28
DBG(2011-12-31T10:01:07.895594, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 42
DBG(2011-12-31T10:01:08.098395, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 56
DBG(2011-12-31T10:01:08.301195, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 70
DBG(2011-12-31T10:01:08.503995, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 84
DBG(2011-12-31T10:01:08.706796, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 98
DBG(2011-12-31T10:01:08.909596, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 112
DBG(2011-12-31T10:01:09.112396, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 126
LOG(2011-12-31T10:01:09.299597, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-31T10:01:09.299597, 1936, 00000000001D2E20:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

LOG(2011-12-31T10:01:09.299597, 1936, 00000000001D2E20:): Error occured. Device XYStage. Error in device XYStage: Serial command failed.  Is the device connected to the serial port?.

LOG(2011-12-31T10:01:09.299597, 1936, 00000000001D2E20:): >
java.lang.Exception: XY stage error in Thread[AWT-EventQueue-0,6,main]
  at org.micromanager.navigation.MultiStagePosition.goToPosition(MultiStagePosition.java:239)
  at org.micromanager.PositionListDlg.goToCurrentPosition(PositionListDlg.java:704)
  at org.micromanager.PositionListDlg$7.actionPerformed(PositionListDlg.java:458)
  at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
  at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
  at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
  at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
  at java.awt.Component.processMouseEvent(Unknown Source)
  at javax.swing.JComponent.processMouseEvent(Unknown Source)
  at java.awt.Component.processEvent(Unknown Source)
  at java.awt.Container.processEvent(Unknown Source)
  at java.awt.Component.dispatchEventImpl(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Window.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.EventQueue.dispatchEvent(Unknown Source)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.run(Unknown Source)


DBG(2011-12-31T10:01:10.672399, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:01:10.859599, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 13
DBG(2011-12-31T10:01:10.859599, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:10.859599, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:01:11.062400, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:11.062400, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:01:11.062400, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:11.062400, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:01:11.234000, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 12
DBG(2011-12-31T10:01:11.234000, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:11.234000, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:01:11.421200, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 13
DBG(2011-12-31T10:01:11.421200, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:16.288409, 1936, t:00000000001D2E20:) Waiting for device COM5...
DBG(2011-12-31T10:01:16.288409, 1936, t:00000000001D2E20:) Finished waiting.
DBG(2011-12-31T10:01:16.288409, 1936, t:00000000001D2E20:) Waiting for device XYStage...
DBG(2011-12-31T10:01:16.288409, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> $

DBG(2011-12-31T10:01:16.491209, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:16.694010, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 28
DBG(2011-12-31T10:01:16.896810, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 42
DBG(2011-12-31T10:01:17.099610, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 56
DBG(2011-12-31T10:01:17.302411, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 70
DBG(2011-12-31T10:01:17.505211, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 84
DBG(2011-12-31T10:01:17.708011, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 98
DBG(2011-12-31T10:01:17.910812, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 112
DBG(2011-12-31T10:01:18.113612, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 126
LOG(2011-12-31T10:01:18.300813, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-31T10:01:18.300813, 1936, 00000000001D2E20:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

DBG(2011-12-31T10:01:18.300813, 1936, t:00000000001D2E20:) Finished waiting.

*****************************************end of message December 31, 2011

----- Original Message -----
From: "Michael Z Lin" <[hidden email]>
To: "Micro-Manager General" <[hidden email]>
Sent: Thursday, December 29, 2011 6:37:05 PM
Subject: driver compatibility issue with Prior XY stage and older H128 controller

Dear Nico et al:

We have been trying to get Micromanager to run a Prior XY stage with an older H128 controller. We have unsuccessfully tried Micromanager 1.1, 1.2, 1.3, and 1.4 using a PC running Windows 7, a serial RS232 PCI adapter, and a null modem cable. We have also been unsuccessful with MM 1.1, 1.2, 1.3, and 1.4 on Mac OSX via two different USB-serial adapters. The problem is that all XY positions get recorded as 0,0. Trying to go to a recorded position results in a serial error 22 and the stage moving to its origin. Reading and moving commands issued via a terminal program like Prior's own PriorTerminal work just fine (that is also where one can reset the origin) so we know serial communication is working.

The H128 controller commandset (as described in www.prioruk.com/downloadcentre/documents/operatingmanuals/H128%20(H152KB).pdf) is not as extensive as the current H129 controller. In the corelog I can see MM is issuing the comp,0 command (so the H129 won't expect H128 commands) and the $ command to query H129 status. These commands are not in the H128 vocabulary and result in timeout errors with the H128. However for reading stage position, MM uses the conserved commands PX and PY, which the H128 does reply to with non-zero values as seen in the corelog, so this basic function does work. Yet, the XY values returned by the H128 don't seem to register as the numbers in the XY list are all 0,0. Also the queries seem to be repeated; I don't know if that's normal.

Would it be possible to revise the Prior adapter to work with the H128? Maybe something like a separate entry that we can select in the hardware config wizard (something like XYStageH128) for the older H128 controller which can record the XY values returned from H128, and will specify the stage as a non-sync device so we can add a manual delay during hardware configuration?

In case it helps, the corelog output from a simple session of starting MM, logging 3 points, and quitting is below.
 
By the way we also tried to get a newer H129 controller but it would not recognized and run the stage unfortunately.

Thank you very much in advance for your help, and happy New Year!



LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): -------->>
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): Core session started on 2011-12-29T17:46:45.443037 by Lin Lab on LINLAB-XPS200
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): Debug logging disabled
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): Debug logging enabled
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): > MM Studio version: 1.4.6
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): > MMCore version 2.3.1
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): > Device API version 45, Module API version 7
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): > Operating System: Windows 7 6.1
DBG(2011-12-29T17:46:45.443037, 2156, t:00566A48:) Circular buffer set to 25 MB.
LOG(2011-12-29T17:46:48.219842, 2156, 00566A48:): > Attempting to install plugin org.micromanager.clojureeditor.ClojureEditorPlugin
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.browser.Data_Browser
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Error: Data_Browser fails to implement static String menuName.
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.multicamera.MultiCamera
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.pixelcalibrator.PixelCalibratorPlugin
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.projector.ProjectorPlugin
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.recall.RecallPlugin
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.slideexplorer.SlideExplorerPlugin
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.splitview.SplitView
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.stagecontrol.StageControl
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install autofocus plugin Autofocus
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install autofocus plugin OughtaFocus
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install autofocus plugin AutofocusDuo
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install autofocus plugin AutofocusTB
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install autofocus plugin OughtaFocus
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): All devices unloaded.
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=Core, name=Initialize, value=0
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Device COM5 loaded from SerialManager and labeled as COM5
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Device COM3 loaded from SerialManager and labeled as COM3
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Device COM4 loaded from SerialManager and labeled as COM4
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Device XYStage loaded from Prior and labeled as XYStage
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Device XYStage set as default xyStage.
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=XYStage, name=Port, value=COM5
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=AnswerTimeout, value=2500.0000
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=BaudRate, value=9600
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=DelayBetweenCharsMs, value=0.0000
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=Handshaking, value=Off
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=Parity, value=None
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=StopBits, value=1
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=Verbose, value=1
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Starting initialization sequence for 4 devices...
DBG(2011-12-29T17:46:51.074647, 2156, t:00566A48:) Device COM5 debug message: Attempting to set baud of COM5 to 9600
DBG(2011-12-29T17:46:51.074647, 2156, t:00566A48:) Device COM5 debug message: Attempting to set flow of COM5 to none
DBG(2011-12-29T17:46:51.074647, 2156, t:00566A48:) Device COM5 debug message: Attempting to set parity of COM5 to none
DBG(2011-12-29T17:46:51.074647, 2156, t:00566A48:) Device COM5 debug message: Attempting to set stopBits of COM5 to 1
LOG(2011-12-29T17:46:51.074647, 2156, 00566A48:): Device COM5 initialized.
DBG(2011-12-29T17:46:51.374048, 2156, t:00566A48:) Device COM3 debug message: Attempting to set baud of COM3 to 9600
DBG(2011-12-29T17:46:51.374048, 2156, t:00566A48:) Device COM3 debug message: Attempting to set flow of COM3 to none
DBG(2011-12-29T17:46:51.374048, 2156, t:00566A48:) Device COM3 debug message: Attempting to set parity of COM3 to none
DBG(2011-12-29T17:46:51.374048, 2156, t:00566A48:) Device COM3 debug message: Attempting to set stopBits of COM3 to 1
LOG(2011-12-29T17:46:51.375048, 2156, 00566A48:): Device COM3 initialized.
DBG(2011-12-29T17:46:51.376048, 2156, t:00566A48:) Device COM4 debug message: Attempting to set baud of COM4 to 9600
DBG(2011-12-29T17:46:51.377048, 2156, t:00566A48:) Device COM4 debug message: Attempting to set flow of COM4 to none
DBG(2011-12-29T17:46:51.377048, 2156, t:00566A48:) Device COM4 debug message: Attempting to set parity of COM4 to none
DBG(2011-12-29T17:46:51.377048, 2156, t:00566A48:) Device COM4 debug message: Attempting to set stopBits of COM4 to 1
LOG(2011-12-29T17:46:51.378048, 2156, 00566A48:): Device COM4 initialized.
DBG(2011-12-29T17:46:51.379048, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> comp,0DBG(2011-12-29T17:46:51.579060, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 201
DBG(2011-12-29T17:46:51.779071, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 402
DBG(2011-12-29T17:46:51.979082, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 603
DBG(2011-12-29T17:46:52.179094, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 804
DBG(2011-12-29T17:46:52.379105, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1005
DBG(2011-12-29T17:46:52.579117, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1206
DBG(2011-12-29T17:46:52.779128, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1406
DBG(2011-12-29T17:46:52.979140, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1607
DBG(2011-12-29T17:46:53.179151, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1808
DBG(2011-12-29T17:46:53.379162, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2009
DBG(2011-12-29T17:46:53.579174, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2210
DBG(2011-12-29T17:46:53.779185, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2411
LOG(2011-12-29T17:46:53.879191, 2156, 00566A48:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-29T17:46:53.879191, 2156, 00566A48:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

LOG(2011-12-29T17:46:53.879191, 2156, 00566A48:): Device XYStage initialized.
DBG(2011-12-29T17:46:53.879191, 2156, t:00566A48:) Property set: device=Core, name=Initialize, value=1
LOG(2011-12-29T17:46:53.879191, 2156, 00566A48:): Auto shutter ON.
DBG(2011-12-29T17:46:53.879191, 2156, t:00566A48:) Property set: device=Core, name=AutoShutter, value=1
DBG(2011-12-29T17:46:53.879191, 2156, t:00566A48:) Waiting for device COM5...
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Waiting for device COM3...
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Waiting for device COM4...
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Waiting for device XYStage...
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> $DBG(2011-12-29T17:46:54.080203, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 201
DBG(2011-12-29T17:46:54.280214, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 402
DBG(2011-12-29T17:46:54.480225, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 603
DBG(2011-12-29T17:46:54.680237, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 804
DBG(2011-12-29T17:46:54.880248, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1005
DBG(2011-12-29T17:46:55.080260, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1206
DBG(2011-12-29T17:46:55.280271, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1407
DBG(2011-12-29T17:46:55.480283, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1608
DBG(2011-12-29T17:46:55.680294, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1809
DBG(2011-12-29T17:46:55.880306, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2010
DBG(2011-12-29T17:46:56.080317, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2211
DBG(2011-12-29T17:46:56.280328, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2412
LOG(2011-12-29T17:46:56.380334, 2156, 00566A48:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-29T17:46:56.380334, 2156, 00566A48:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

DBG(2011-12-29T17:46:56.380334, 2156, t:00566A48:) Finished waiting.
LOG(2011-12-29T17:46:56.381334, 2156, 00566A48:): System state cache updated.
DBG(2011-12-29T17:46:56.390335, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:46:56.559344, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 170
DBG(2011-12-29T17:46:56.559344, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:46:56.559344, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:46:56.727354, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 169
DBG(2011-12-29T17:46:56.727354, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
LOG(2011-12-29T17:46:56.734354, 2156, 00566A48:): > Startup script file (C:\Program Files\Micro-Manager-1.4/MMStartup.bsh) not present.
DBG(2011-12-29T17:46:57.317388, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:46:57.472397, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 156
DBG(2011-12-29T17:46:57.472397, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:46:57.472397, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:46:57.638406, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 167
DBG(2011-12-29T17:46:57.638406, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
DBG(2011-12-29T17:47:00.825588, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:00.976597, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 152
DBG(2011-12-29T17:47:00.976597, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:47:00.976597, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:01.143607, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:01.143607, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
DBG(2011-12-29T17:47:01.143607, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:01.310616, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:01.310616, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:47:01.310616, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:01.477626, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:01.477626, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
DBG(2011-12-29T17:47:05.262842, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:05.429852, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:05.429852, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:47:05.429852, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:05.596861, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:05.596861, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
DBG(2011-12-29T17:47:05.596861, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:05.763871, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:05.763871, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:47:05.763871, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:05.930880, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:05.930880, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
DBG(2011-12-29T17:47:09.719097, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:09.883106, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 165
DBG(2011-12-29T17:47:09.883106, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 11989
DBG(2011-12-29T17:47:09.883106, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:10.049116, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 167
DBG(2011-12-29T17:47:10.049116, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -537
DBG(2011-12-29T17:47:10.049116, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:10.221126, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 173
DBG(2011-12-29T17:47:10.221126, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 11989
DBG(2011-12-29T17:47:10.221126, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:10.386135, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 166
DBG(2011-12-29T17:47:10.386135, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -537
DBG(2011-12-29T17:47:12.734270, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:12.906279, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 172
DBG(2011-12-29T17:47:12.906279, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 11989
DBG(2011-12-29T17:47:12.906279, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:13.073289, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:13.073289, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -6809
DBG(2011-12-29T17:47:13.073289, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:13.244299, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 172
DBG(2011-12-29T17:47:13.244299, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 11989
DBG(2011-12-29T17:47:13.244299, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:13.414308, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 171
DBG(2011-12-29T17:47:13.414308, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -6809
DBG(2011-12-29T17:47:19.338647, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:19.502657, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 164
DBG(2011-12-29T17:47:19.502657, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 11989
DBG(2011-12-29T17:47:19.502657, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:19.673666, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 172
DBG(2011-12-29T17:47:19.673666, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -6809
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Waiting for device COM5...
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Waiting for device COM3...
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Waiting for device COM4...
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Waiting for device XYStage...
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> $
DBG(2011-12-29T17:47:27.950140, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 201
DBG(2011-12-29T17:47:28.150151, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 402
DBG(2011-12-29T17:47:28.350163, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 603
DBG(2011-12-29T17:47:28.550174, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 804
DBG(2011-12-29T17:47:28.750186, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1005
DBG(2011-12-29T17:47:28.950197, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1206
DBG(2011-12-29T17:47:29.150208, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1407
DBG(2011-12-29T17:47:29.350220, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1608
DBG(2011-12-29T17:47:29.550231, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1809
DBG(2011-12-29T17:47:29.750243, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2010
DBG(2011-12-29T17:47:29.950254, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2211
DBG(2011-12-29T17:47:30.150266, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2412
LOG(2011-12-29T17:47:30.250271, 2156, 00566A48:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-29T17:47:30.250271, 2156, 00566A48:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

DBG(2011-12-29T17:47:30.250271, 2156, t:00566A48:) Finished waiting.

------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual
desktops for less than the cost of PCs and save 60% on VDI infrastructure
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
micro-manager-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/micro-manager-general
Reply | Threaded
Open this post in threaded view
|

Re: driver compatibility issue with Prior XY stage and older H128 controller

lashford
Michael,
      One thing that I noticed in your run log was that the first command to the stage after completion of the serial initialization was as follows:
 
LOG(2011-12-31T10:00:33.029533, 1936, 00000000001D2E20:): Device COM5 initialized.
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> comp,0
    The comp command sets the command set for the controller to Compatibility mode
 
     This is not discussed in the H128 manual but in the ProScan manual it says the following about the Comp command:
-------------------------------------------------------------------------------
Command    Argument    Response
-------------------------------------------------------------------------------
COMP            m                0

Sets the controller compatibility mode for users who want to wait

for ‘R’ at the end of the move. Compatibility is on if m = 1 and off

if m = 0. Setting COMP,1 will result in less flexibility. For example,

SOAK cannot be used and commands sent while the joystick is

active will be lost. Compatibility mode is offered for users who wish

the Commands to be compatible with earlier H127/H128 Prior

Controllers.

---------------
 
It looks to me like you are timing out on this command as it returned the following:
 
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
 
This may be because you have a problem with the serial connection to the device. However I think you indicated that you can talk to the device using
hyper terminal OK so that says your connection to the hardware is not the issue. You really cant pay much attention to errors that come following a timeout because this leaves the stage in a possibly undefined state. I see you do get an indication that the stage was initialized following the bad command timeout.
 
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Device XYStage initialized.
 
I think I would try to change the Compatibility mode switch to 1 and try that first. The rest I would ignore till you  can get valid command responses in the initial stage setup. The problem is that the other commands you are sending to the unit seem to assume that you are in the 'standard command mode. These commands are not supported for the H128 .
 
Another Note:
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> $
     The '$' command is a standard mode command, that is to say, it is not valid in the compatibility mode. This command is not supported on the H128.
 
The equivalent would be '#' for the H130 but I don't think that this command is supported on the H128.
 
 These are just some of my observations about what you are seeing in your error log.
 
   Thanks,
    Louis Ashford

On Sat, Dec 31, 2011 at 10:44 AM, Michael Z Lin [via Micro-Manager] <[hidden email]> wrote:
A followup - I realize the corelog output of an attempt to go to an unsuccessfully stored position might be useful as well. It is pasted below.

Here I just started Micromanager, changed the XY position of the stage by joystick, stored the point in the Multi-D acquisition list, whereupon the XY coordinates are shown on the screen as 0,0. I then used to joystick to move the stage elsewhere and asked Micromanager to go to the stored point, whereupon the stage moved to the origin previously stored in the H128 controller using terminal commands, and then MM gave the error message "XY Stage error." I then repeated moving away and going to the stored point again with the same result. By the way I made a mistake in my previous email -- the error message after a failed move-to-point command is not type 22 (sorry I remembered that from elsewhere).

You can see in the corelog that the program asking for XY position elicits non-zero responses, so it is not clear to me why MM stores all positions as 0,0. Then when the go to point command is issued, MM asks to go to -<a href="tel:2147483648" target="_blank" value="+12147483648">2147483648,-<a href="tel:2147483648" target="_blank" value="+12147483648">2147483648. It is always this number even when multiple points are stored and in different MM sessions.

Any help you can provide will be greatly appreciated. By the way we have cited MM in the first paper submission from our new lab!

Cheers,
Michael

**************************corelog output pasted below

LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): -------->>
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): Core session started on 2011-12-31T10:00:27.663124 by Lin Lab on LINLAB-XPS200
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): Debug logging disabled
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): Debug logging enabled
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): > MM Studio version: 1.4.7
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): > MMCore version 2.3.1
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): > Device API version 49, Module API version 7
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): > Operating System: Windows Vista 6.1
DBG(2011-12-31T10:00:27.663124, 1936, t:00000000001D2E20:) Circular buffer set to 25 MB.
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.clojureeditor.ClojureEditorPlugin
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.CRISP.CRISP
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.browser.Data_Browser
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Error: Data_Browser fails to implement static String menuName.
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.multicamera.MultiCamera
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.pixelcalibrator.PixelCalibratorPlugin
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.projector.ProjectorPlugin
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.recall.RecallPlugin
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.slideexplorer.SlideExplorerPlugin
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.splitview.SplitView
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.stagecontrol.StageControl
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install autofocus plugin Autofocus
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install autofocus plugin OughtaFocus
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install autofocus plugin AutofocusDuo
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install autofocus plugin AutofocusTB
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install autofocus plugin OughtaFocus
LOG(2011-12-31T10:00:30.985929, 1936, 00000000001D2E20:): > Error: org.micromanager.browser.Data_Browser fails to implement static String tooltipDescription.
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): All devices unloaded.
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): > Notification for Device: Core Property: Initialize changed to value: 0
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=Core, name=Initialize, value=0
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): Device COM5 loaded from SerialManager and labeled as COM5
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): Device XYStage loaded from Prior and labeled as XYStage
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): Device XYStage set as default xyStage.
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=XYStage, name=Port, value=COM5
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=AnswerTimeout, value=2000.0000
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=BaudRate, value=9600
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=DelayBetweenCharsMs, value=0.0000
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=Handshaking, value=Off
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=Parity, value=None
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=StopBits, value=1
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=Verbose, value=0
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): Starting initialization sequence for 2 devices...
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: Attempting to set baud of COM5 to 9600
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: Attempting to set flow of COM5 to none
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: Attempting to set parity of COM5 to none
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: Attempting to set stopBits of COM5 to 1
LOG(2011-12-31T10:00:33.029533, 1936, 00000000001D2E20:): Device COM5 initialized.
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> comp,0

DBG(2011-12-31T10:00:33.232333, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:33.435134, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 28
DBG(2011-12-31T10:00:33.637934, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 42
DBG(2011-12-31T10:00:33.840734, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 56
DBG(2011-12-31T10:00:34.043535, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 70
DBG(2011-12-31T10:00:34.246335, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 84
DBG(2011-12-31T10:00:34.449135, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 98
DBG(2011-12-31T10:00:34.651936, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 112
DBG(2011-12-31T10:00:34.854736, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 126
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Device XYStage initialized.
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): > Notification for Device: Core Property: Initialize changed to value: 1
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Property set: device=Core, name=Initialize, value=1
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Auto shutter ON.
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): > Notification for Device: Core Property: AutoShutter changed to value: 1
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Property set: device=Core, name=AutoShutter, value=1
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Waiting for device COM5...
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Finished waiting.
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Waiting for device XYStage...
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> $

DBG(2011-12-31T10:00:35.244737, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:35.447537, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 28
DBG(2011-12-31T10:00:35.650338, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 42
DBG(2011-12-31T10:00:35.853138, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 56
DBG(2011-12-31T10:00:36.055938, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 70
DBG(2011-12-31T10:00:36.258739, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 84
DBG(2011-12-31T10:00:36.461539, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 98
DBG(2011-12-31T10:00:36.664339, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 112
DBG(2011-12-31T10:00:36.867140, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 126
LOG(2011-12-31T10:00:37.054340, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-31T10:00:37.054340, 1936, 00000000001D2E20:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

DBG(2011-12-31T10:00:37.054340, 1936, t:00000000001D2E20:) Finished waiting.
LOG(2011-12-31T10:00:37.054340, 1936, 00000000001D2E20:): System state cache updated.
LOG(2011-12-31T10:00:37.054340, 1936, 00000000001D2E20:): System state cache updated.
DBG(2011-12-31T10:00:37.054340, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:00:37.241540, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 13
DBG(2011-12-31T10:00:37.241540, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:00:37.241540, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:00:37.444341, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:37.444341, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:37.444341, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
LOG(2011-12-31T10:00:37.444341, 1936, 00000000001D2E20:): > Startup script file (C:\Program Files\Micro-Manager-1.4/MMStartup.bsh) not present.
DBG(2011-12-31T10:00:41.157147, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:00:41.359948, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:41.359948, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:41.359948, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:00:41.359948, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:00:41.562748, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:41.562748, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:41.562748, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:00:41.562748, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:00:41.765548, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:41.765548, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:41.765548, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:00:41.765548, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:00:41.937149, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 12
DBG(2011-12-31T10:00:41.937149, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:00:48.161560, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:00:48.364360, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:48.364360, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:48.364360, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 22869
DBG(2011-12-31T10:00:48.364360, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:00:48.567160, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:48.567160, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:48.567160, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- -19621
DBG(2011-12-31T10:00:48.567160, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:00:48.754361, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 13
DBG(2011-12-31T10:00:48.754361, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 22869
DBG(2011-12-31T10:00:48.754361, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:00:48.957161, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:48.972761, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 16
DBG(2011-12-31T10:00:48.972761, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- -19621
DBG(2011-12-31T10:00:58.285977, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> G,-<a href="tel:2147483648" target="_blank" value="+12147483648">2147483648,-<a href="tel:2147483648" target="_blank" value="+12147483648">2147483648

DBG(2011-12-31T10:00:58.488778, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:58.691578, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 28
DBG(2011-12-31T10:00:58.894378, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 42
DBG(2011-12-31T10:00:59.097179, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 56
DBG(2011-12-31T10:00:59.299979, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 70
DBG(2011-12-31T10:00:59.502779, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 84
DBG(2011-12-31T10:00:59.705580, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 98
DBG(2011-12-31T10:00:59.908380, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 112
DBG(2011-12-31T10:01:00.111181, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 126
LOG(2011-12-31T10:01:00.298381, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-31T10:01:00.298381, 1936, 00000000001D2E20:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

LOG(2011-12-31T10:01:00.298381, 1936, 00000000001D2E20:): Error occured. Device XYStage. Error in device XYStage: Serial command failed.  Is the device connected to the serial port?.

LOG(2011-12-31T10:01:00.298381, 1936, 00000000001D2E20:): >
java.lang.Exception: XY stage error in Thread[AWT-EventQueue-0,6,main]
  at org.micromanager.navigation.MultiStagePosition.goToPosition(MultiStagePosition.java:239)
  at org.micromanager.PositionListDlg.goToCurrentPosition(PositionListDlg.java:704)
  at org.micromanager.PositionListDlg$7.actionPerformed(PositionListDlg.java:458)
  at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
  at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
  at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
  at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
  at java.awt.Component.processMouseEvent(Unknown Source)
  at javax.swing.JComponent.processMouseEvent(Unknown Source)
  at java.awt.Component.processEvent(Unknown Source)
  at java.awt.Container.processEvent(Unknown Source)
  at java.awt.Component.dispatchEventImpl(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Window.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.EventQueue.dispatchEvent(Unknown Source)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.run(Unknown Source)


DBG(2011-12-31T10:01:01.733583, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:01:01.920784, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 13
DBG(2011-12-31T10:01:01.920784, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:01.920784, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:01:02.123584, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:02.123584, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:01:02.123584, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:02.123584, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:01:02.326384, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:02.326384, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:01:02.326384, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:02.326384, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:01:02.529185, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:02.529185, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:01:02.529185, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:07.287193, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> G,-<a href="tel:2147483648" target="_blank" value="+12147483648">2147483648,-<a href="tel:2147483648" target="_blank" value="+12147483648">2147483648

DBG(2011-12-31T10:01:07.489994, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:07.692794, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 28
DBG(2011-12-31T10:01:07.895594, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 42
DBG(2011-12-31T10:01:08.098395, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 56
DBG(2011-12-31T10:01:08.301195, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 70
DBG(2011-12-31T10:01:08.503995, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 84
DBG(2011-12-31T10:01:08.706796, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 98
DBG(2011-12-31T10:01:08.909596, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 112
DBG(2011-12-31T10:01:09.112396, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 126
LOG(2011-12-31T10:01:09.299597, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-31T10:01:09.299597, 1936, 00000000001D2E20:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

LOG(2011-12-31T10:01:09.299597, 1936, 00000000001D2E20:): Error occured. Device XYStage. Error in device XYStage: Serial command failed.  Is the device connected to the serial port?.

LOG(2011-12-31T10:01:09.299597, 1936, 00000000001D2E20:): >
java.lang.Exception: XY stage error in Thread[AWT-EventQueue-0,6,main]
  at org.micromanager.navigation.MultiStagePosition.goToPosition(MultiStagePosition.java:239)
  at org.micromanager.PositionListDlg.goToCurrentPosition(PositionListDlg.java:704)
  at org.micromanager.PositionListDlg$7.actionPerformed(PositionListDlg.java:458)
  at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
  at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
  at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
  at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
  at java.awt.Component.processMouseEvent(Unknown Source)
  at javax.swing.JComponent.processMouseEvent(Unknown Source)
  at java.awt.Component.processEvent(Unknown Source)
  at java.awt.Container.processEvent(Unknown Source)
  at java.awt.Component.dispatchEventImpl(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Window.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.EventQueue.dispatchEvent(Unknown Source)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.run(Unknown Source)


DBG(2011-12-31T10:01:10.672399, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:01:10.859599, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 13
DBG(2011-12-31T10:01:10.859599, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:10.859599, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:01:11.062400, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:11.062400, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:01:11.062400, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:11.062400, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:01:11.234000, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 12
DBG(2011-12-31T10:01:11.234000, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:11.234000, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:01:11.421200, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 13
DBG(2011-12-31T10:01:11.421200, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:16.288409, 1936, t:00000000001D2E20:) Waiting for device COM5...
DBG(2011-12-31T10:01:16.288409, 1936, t:00000000001D2E20:) Finished waiting.
DBG(2011-12-31T10:01:16.288409, 1936, t:00000000001D2E20:) Waiting for device XYStage...
DBG(2011-12-31T10:01:16.288409, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> $

DBG(2011-12-31T10:01:16.491209, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:16.694010, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 28
DBG(2011-12-31T10:01:16.896810, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 42
DBG(2011-12-31T10:01:17.099610, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 56
DBG(2011-12-31T10:01:17.302411, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 70
DBG(2011-12-31T10:01:17.505211, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 84
DBG(2011-12-31T10:01:17.708011, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 98
DBG(2011-12-31T10:01:17.910812, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 112
DBG(2011-12-31T10:01:18.113612, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 126
LOG(2011-12-31T10:01:18.300813, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-31T10:01:18.300813, 1936, 00000000001D2E20:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

DBG(2011-12-31T10:01:18.300813, 1936, t:00000000001D2E20:) Finished waiting.

*****************************************end of message December 31, 2011

----- Original Message -----
From: "Michael Z Lin" <[hidden email]>
To: "Micro-Manager General" <[hidden email]>
Sent: Thursday, December 29, 2011 6:37:05 PM
Subject: driver compatibility issue with Prior XY stage and older H128 controller

Dear Nico et al:

We have been trying to get Micromanager to run a Prior XY stage with an older H128 controller. We have unsuccessfully tried Micromanager 1.1, 1.2, 1.3, and 1.4 using a PC running Windows 7, a serial RS232 PCI adapter, and a null modem cable. We have also been unsuccessful with MM 1.1, 1.2, 1.3, and 1.4 on Mac OSX via two different USB-serial adapters. The problem is that all XY positions get recorded as 0,0. Trying to go to a recorded position results in a serial error 22 and the stage moving to its origin. Reading and moving commands issued via a terminal program like Prior's own PriorTerminal work just fine (that is also where one can reset the origin) so we know serial communication is working.

The H128 controller commandset (as described in www.prioruk.com/downloadcentre/documents/operatingmanuals/H128%20(H152KB).pdf) is not as extensive as the current H129 controller. In the corelog I can see MM is issuing the comp,0 command (so the H129 won't expect H128 commands) and the $ command to query H129 status. These commands are not in the H128 vocabulary and result in timeout errors with the H128. However for reading stage position, MM uses the conserved commands PX and PY, which the H128 does reply to with non-zero values as seen in the corelog, so this basic function does work. Yet, the XY values returned by the H128 don't seem to register as the numbers in the XY list are all 0,0. Also the queries seem to be repeated; I don't know if that's normal.

Would it be possible to revise the Prior adapter to work with the H128? Maybe something like a separate entry that we can select in the hardware config wizard (something like XYStageH128) for the older H128 controller which can record the XY values returned from H128, and will specify the stage as a non-sync device so we can add a manual delay during hardware configuration?

In case it helps, the corelog output from a simple session of starting MM, logging 3 points, and quitting is below.
 
By the way we also tried to get a newer H129 controller but it would not recognized and run the stage unfortunately.

Thank you very much in advance for your help, and happy New Year!



LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): -------->>
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): Core session started on 2011-12-29T17:46:45.443037 by Lin Lab on LINLAB-XPS200
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): Debug logging disabled
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): Debug logging enabled
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): > MM Studio version: 1.4.6
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): > MMCore version 2.3.1
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): > Device API version 45, Module API version 7
LOG(2011-12-29T17:46:45.443037, 2156, 00566A48:): > Operating System: Windows 7 6.1
DBG(2011-12-29T17:46:45.443037, 2156, t:00566A48:) Circular buffer set to 25 MB.
LOG(2011-12-29T17:46:48.219842, 2156, 00566A48:): > Attempting to install plugin org.micromanager.clojureeditor.ClojureEditorPlugin
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.browser.Data_Browser
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Error: Data_Browser fails to implement static String menuName.
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.multicamera.MultiCamera
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.pixelcalibrator.PixelCalibratorPlugin
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.projector.ProjectorPlugin
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.recall.RecallPlugin
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.slideexplorer.SlideExplorerPlugin
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.splitview.SplitView
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install plugin org.micromanager.stagecontrol.StageControl
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install autofocus plugin Autofocus
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install autofocus plugin OughtaFocus
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install autofocus plugin AutofocusDuo
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install autofocus plugin AutofocusTB
LOG(2011-12-29T17:46:48.235442, 2156, 00566A48:): > Attempting to install autofocus plugin OughtaFocus
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): All devices unloaded.
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=Core, name=Initialize, value=0
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Device COM5 loaded from SerialManager and labeled as COM5
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Device COM3 loaded from SerialManager and labeled as COM3
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Device COM4 loaded from SerialManager and labeled as COM4
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Device XYStage loaded from Prior and labeled as XYStage
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Device XYStage set as default xyStage.
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=XYStage, name=Port, value=COM5
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=AnswerTimeout, value=2500.0000
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=BaudRate, value=9600
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=DelayBetweenCharsMs, value=0.0000
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=Handshaking, value=Off
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=Parity, value=None
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=StopBits, value=1
DBG(2011-12-29T17:46:51.043447, 2156, t:00566A48:) Property set: device=COM5, name=Verbose, value=1
LOG(2011-12-29T17:46:51.043447, 2156, 00566A48:): Starting initialization sequence for 4 devices...
DBG(2011-12-29T17:46:51.074647, 2156, t:00566A48:) Device COM5 debug message: Attempting to set baud of COM5 to 9600
DBG(2011-12-29T17:46:51.074647, 2156, t:00566A48:) Device COM5 debug message: Attempting to set flow of COM5 to none
DBG(2011-12-29T17:46:51.074647, 2156, t:00566A48:) Device COM5 debug message: Attempting to set parity of COM5 to none
DBG(2011-12-29T17:46:51.074647, 2156, t:00566A48:) Device COM5 debug message: Attempting to set stopBits of COM5 to 1
LOG(2011-12-29T17:46:51.074647, 2156, 00566A48:): Device COM5 initialized.
DBG(2011-12-29T17:46:51.374048, 2156, t:00566A48:) Device COM3 debug message: Attempting to set baud of COM3 to 9600
DBG(2011-12-29T17:46:51.374048, 2156, t:00566A48:) Device COM3 debug message: Attempting to set flow of COM3 to none
DBG(2011-12-29T17:46:51.374048, 2156, t:00566A48:) Device COM3 debug message: Attempting to set parity of COM3 to none
DBG(2011-12-29T17:46:51.374048, 2156, t:00566A48:) Device COM3 debug message: Attempting to set stopBits of COM3 to 1
LOG(2011-12-29T17:46:51.375048, 2156, 00566A48:): Device COM3 initialized.
DBG(2011-12-29T17:46:51.376048, 2156, t:00566A48:) Device COM4 debug message: Attempting to set baud of COM4 to 9600
DBG(2011-12-29T17:46:51.377048, 2156, t:00566A48:) Device COM4 debug message: Attempting to set flow of COM4 to none
DBG(2011-12-29T17:46:51.377048, 2156, t:00566A48:) Device COM4 debug message: Attempting to set parity of COM4 to none
DBG(2011-12-29T17:46:51.377048, 2156, t:00566A48:) Device COM4 debug message: Attempting to set stopBits of COM4 to 1
LOG(2011-12-29T17:46:51.378048, 2156, 00566A48:): Device COM4 initialized.
DBG(2011-12-29T17:46:51.379048, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> comp,0DBG(2011-12-29T17:46:51.579060, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 201
DBG(2011-12-29T17:46:51.779071, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 402
DBG(2011-12-29T17:46:51.979082, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 603
DBG(2011-12-29T17:46:52.179094, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 804
DBG(2011-12-29T17:46:52.379105, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1005
DBG(2011-12-29T17:46:52.579117, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1206
DBG(2011-12-29T17:46:52.779128, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1406
DBG(2011-12-29T17:46:52.979140, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1607
DBG(2011-12-29T17:46:53.179151, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1808
DBG(2011-12-29T17:46:53.379162, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2009
DBG(2011-12-29T17:46:53.579174, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2210
DBG(2011-12-29T17:46:53.779185, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2411
LOG(2011-12-29T17:46:53.879191, 2156, 00566A48:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-29T17:46:53.879191, 2156, 00566A48:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

LOG(2011-12-29T17:46:53.879191, 2156, 00566A48:): Device XYStage initialized.
DBG(2011-12-29T17:46:53.879191, 2156, t:00566A48:) Property set: device=Core, name=Initialize, value=1
LOG(2011-12-29T17:46:53.879191, 2156, 00566A48:): Auto shutter ON.
DBG(2011-12-29T17:46:53.879191, 2156, t:00566A48:) Property set: device=Core, name=AutoShutter, value=1
DBG(2011-12-29T17:46:53.879191, 2156, t:00566A48:) Waiting for device COM5...
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Waiting for device COM3...
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Waiting for device COM4...
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Waiting for device XYStage...
DBG(2011-12-29T17:46:53.880191, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> $DBG(2011-12-29T17:46:54.080203, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 201
DBG(2011-12-29T17:46:54.280214, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 402
DBG(2011-12-29T17:46:54.480225, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 603
DBG(2011-12-29T17:46:54.680237, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 804
DBG(2011-12-29T17:46:54.880248, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1005
DBG(2011-12-29T17:46:55.080260, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1206
DBG(2011-12-29T17:46:55.280271, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1407
DBG(2011-12-29T17:46:55.480283, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1608
DBG(2011-12-29T17:46:55.680294, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1809
DBG(2011-12-29T17:46:55.880306, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2010
DBG(2011-12-29T17:46:56.080317, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2211
DBG(2011-12-29T17:46:56.280328, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2412
LOG(2011-12-29T17:46:56.380334, 2156, 00566A48:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-29T17:46:56.380334, 2156, 00566A48:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

DBG(2011-12-29T17:46:56.380334, 2156, t:00566A48:) Finished waiting.
LOG(2011-12-29T17:46:56.381334, 2156, 00566A48:): System state cache updated.
DBG(2011-12-29T17:46:56.390335, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:46:56.559344, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 170
DBG(2011-12-29T17:46:56.559344, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:46:56.559344, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:46:56.727354, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 169
DBG(2011-12-29T17:46:56.727354, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
LOG(2011-12-29T17:46:56.734354, 2156, 00566A48:): > Startup script file (C:\Program Files\Micro-Manager-1.4/MMStartup.bsh) not present.
DBG(2011-12-29T17:46:57.317388, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:46:57.472397, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 156
DBG(2011-12-29T17:46:57.472397, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:46:57.472397, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:46:57.638406, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 167
DBG(2011-12-29T17:46:57.638406, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
DBG(2011-12-29T17:47:00.825588, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:00.976597, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 152
DBG(2011-12-29T17:47:00.976597, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:47:00.976597, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:01.143607, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:01.143607, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
DBG(2011-12-29T17:47:01.143607, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:01.310616, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:01.310616, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:47:01.310616, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:01.477626, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:01.477626, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
DBG(2011-12-29T17:47:05.262842, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:05.429852, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:05.429852, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:47:05.429852, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:05.596861, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:05.596861, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
DBG(2011-12-29T17:47:05.596861, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:05.763871, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:05.763871, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 20062
DBG(2011-12-29T17:47:05.763871, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:05.930880, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:05.930880, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -370
DBG(2011-12-29T17:47:09.719097, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:09.883106, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 165
DBG(2011-12-29T17:47:09.883106, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 11989
DBG(2011-12-29T17:47:09.883106, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:10.049116, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 167
DBG(2011-12-29T17:47:10.049116, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -537
DBG(2011-12-29T17:47:10.049116, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:10.221126, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 173
DBG(2011-12-29T17:47:10.221126, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 11989
DBG(2011-12-29T17:47:10.221126, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:10.386135, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 166
DBG(2011-12-29T17:47:10.386135, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -537
DBG(2011-12-29T17:47:12.734270, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:12.906279, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 172
DBG(2011-12-29T17:47:12.906279, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 11989
DBG(2011-12-29T17:47:12.906279, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:13.073289, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 168
DBG(2011-12-29T17:47:13.073289, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -6809
DBG(2011-12-29T17:47:13.073289, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:13.244299, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 172
DBG(2011-12-29T17:47:13.244299, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 11989
DBG(2011-12-29T17:47:13.244299, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:13.414308, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 171
DBG(2011-12-29T17:47:13.414308, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -6809
DBG(2011-12-29T17:47:19.338647, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PX
DBG(2011-12-29T17:47:19.502657, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 164
DBG(2011-12-29T17:47:19.502657, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- 11989
DBG(2011-12-29T17:47:19.502657, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> PY
DBG(2011-12-29T17:47:19.673666, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 172
DBG(2011-12-29T17:47:19.673666, 2156, t:00566A48:) Device COM5 debug message: GetAnswer <- -6809
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Waiting for device COM5...
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Waiting for device COM3...
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Waiting for device COM4...
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Finished waiting.
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Waiting for device XYStage...
DBG(2011-12-29T17:47:27.750128, 2156, t:00566A48:) Device COM5 debug message: SetCommand -> $
DBG(2011-12-29T17:47:27.950140, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 201
DBG(2011-12-29T17:47:28.150151, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 402
DBG(2011-12-29T17:47:28.350163, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 603
DBG(2011-12-29T17:47:28.550174, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 804
DBG(2011-12-29T17:47:28.750186, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1005
DBG(2011-12-29T17:47:28.950197, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1206
DBG(2011-12-29T17:47:29.150208, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1407
DBG(2011-12-29T17:47:29.350220, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1608
DBG(2011-12-29T17:47:29.550231, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 1809
DBG(2011-12-29T17:47:29.750243, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2010
DBG(2011-12-29T17:47:29.950254, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2211
DBG(2011-12-29T17:47:30.150266, 2156, t:00566A48:) Device COM5 debug message: GetAnswer # retries = 2412
LOG(2011-12-29T17:47:30.250271, 2156, 00566A48:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-29T17:47:30.250271, 2156, 00566A48:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

DBG(2011-12-29T17:47:30.250271, 2156, t:00566A48:) Finished waiting.

------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual
desktops for less than the cost of PCs and save 60% on VDI infrastructure
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
micro-manager-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/micro-manager-general



If you reply to this email, your message will be added to the discussion below:
http://micro-manager.3463995.n2.nabble.com/Device-CMMCore-getShutterOpen-unknown-Error-in-Device-tp7136597p7141025.html
To unsubscribe from Device CMMCore::getShutterOpen() unknown Error in Device, click here.
NAML

Reply | Threaded
Open this post in threaded view
|

Re: driver compatibility issue with Prior XY stage and older H128 controller

Michael Z Lin
Thanks for looking into this, Louis.

I've read the H129 and H128 manuals carefully on the compatibility issue. It's confusing for more than one reason, but in short the comp,0 command doesn't exist for the H128 so is simply ignored and gives a timeout error as you say. Switching it to "comp,1" I would expect would give the same error. The purpose of comp,1 is to make H129 and later behave more similarly to H128. By the way, I actually believe the current adapter meant to issue "comp,1" because the notes in the source code say "make sure we are in compatibility mode" which would be "comp,1" not "comp,0". In any case it makes no difference to the H128 which can't understand either.

I agree it's not good to be issuing commands to the H128 that get ignored. In fact on reading the source code I think the most likely problem may be that the step size/resolution of the stage is set to 0. The adapter as written initializes the step size to 0, then queries for actual resolution on startup. But this is in the initialization sequence after the comp,0 and the sequence aborts by returning an error as the initialization function result before getting to the resolution query. Furthermore the command used to report resolution ("RES,s" if you dig down into the subroutines) doesn't work on the H128 anyway which does not report or adjust resolution. (Finally I think the adapter may be mistaken in commanding "RES,s" instead of "RES,x" as according to the H129 manual I am reading "RES,s,c" is used to set resolution c to both axes but RES,x or RES,y should be used to report the resolution.)

The step size being set to 0 would explain the two major symptoms: x and y position steps being returned by the controller get multiplied by 0 to get cartesian coordinates of 0,0. Then when the go to command gets issued, the number of steps being asked for becomes 0 divided by 0, which must become 2147483648 for each dimension, and this is out of range for the H128 and one gets an error.

I have rewritten the source code to remove all the commands unrecognized by the H128, to convert the commands and limits with H128 equivalents, and to hard-code stage resolution to 0.1 (this depends on the motor and all I can find is 0.04 is the min resolution for the early Proscan stages). Since the H128 doesn't allow status queries by $ or # I just set the busy variable to always false and added the EnableDelay() function, assuming it is the function responsible for allowing user-specified delay. Because I had no C++ programming experience and can only try inferring the APIs from what I can read, I sent it to Nico to check, finalize, and incorporate if possible.

Thanks again and I'll let you all know if a new version of the adapter works.

Cheers,
Michael

On Jan 1, 2012, at 9:51 PM, lashford wrote:

Michael,
      One thing that I noticed in your run log was that the first command to the stage after completion of the serial initialization was as follows:
 
LOG(2011-12-31T10:00:33.029533, 1936, 00000000001D2E20:): Device COM5 initialized.
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> comp,0
    The comp command sets the command set for the controller to Compatibility mode
 
     This is not discussed in the H128 manual but in the ProScan manual it says the following about the Comp command:
-------------------------------------------------------------------------------
Command    Argument    Response
-------------------------------------------------------------------------------
COMP            m                0

Sets the controller compatibility mode for users who want to wait

for ‘R’ at the end of the move. Compatibility is on if m = 1 and off

if m = 0. Setting COMP,1 will result in less flexibility. For example,

SOAK cannot be used and commands sent while the joystick is

active will be lost. Compatibility mode is offered for users who wish

the Commands to be compatible with earlier H127/H128 Prior

Controllers.

---------------
 
It looks to me like you are timing out on this command as it returned the following:
 
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
 
This may be because you have a problem with the serial connection to the device. However I think you indicated that you can talk to the device using
hyper terminal OK so that says your connection to the hardware is not the issue. You really cant pay much attention to errors that come following a timeout because this leaves the stage in a possibly undefined state. I see you do get an indication that the stage was initialized following the bad command timeout.
 
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Device XYStage initialized.
 
I think I would try to change the Compatibility mode switch to 1 and try that first. The rest I would ignore till you  can get valid command responses in the initial stage setup. The problem is that the other commands you are sending to the unit seem to assume that you are in the 'standard command mode. These commands are not supported for the H128 .
 
Another Note:
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> $
     The '$' command is a standard mode command, that is to say, it is not valid in the compatibility mode. This command is not supported on the H128.
 
The equivalent would be '#' for the H130 but I don't think that this command is supported on the H128.
 
 These are just some of my observations about what you are seeing in your error log.
 
   Thanks,
    Louis Ashford

On Sat, Dec 31, 2011 at 10:44 AM, Michael Z Lin [via Micro-Manager] <<a href="x-msg://266/user/SendEmail.jtp?type=node&amp;node=7143141&amp;i=0" target="_top" rel="nofollow" link="external">[hidden email]> wrote:
A followup - I realize the corelog output of an attempt to go to an unsuccessfully stored position might be useful as well. It is pasted below.

Here I just started Micromanager, changed the XY position of the stage by joystick, stored the point in the Multi-D acquisition list, whereupon the XY coordinates are shown on the screen as 0,0. I then used to joystick to move the stage elsewhere and asked Micromanager to go to the stored point, whereupon the stage moved to the origin previously stored in the H128 controller using terminal commands, and then MM gave the error message "XY Stage error." I then repeated moving away and going to the stored point again with the same result. By the way I made a mistake in my previous email -- the error message after a failed move-to-point command is not type 22 (sorry I remembered that from elsewhere).

You can see in the corelog that the program asking for XY position elicits non-zero responses, so it is not clear to me why MM stores all positions as 0,0. Then when the go to point command is issued, MM asks to go to -<a href="tel:2147483648" target="_blank" value="+12147483648">2147483648,-<a href="tel:2147483648" target="_blank" value="+12147483648">2147483648. It is always this number even when multiple points are stored and in different MM sessions.

Any help you can provide will be greatly appreciated. By the way we have cited MM in the first paper submission from our new lab!

Cheers,
Michael

**************************corelog output pasted below

LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): -------->>
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): Core session started on 2011-12-31T10:00:27.663124 by Lin Lab on LINLAB-XPS200
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): Debug logging disabled
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): Debug logging enabled
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): > MM Studio version: 1.4.7
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): > MMCore version 2.3.1
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): > Device API version 49, Module API version 7
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): > Operating System: Windows Vista 6.1
DBG(2011-12-31T10:00:27.663124, 1936, t:00000000001D2E20:) Circular buffer set to 25 MB.
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.clojureeditor.ClojureEditorPlugin
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.CRISP.CRISP
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.browser.Data_Browser
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Error: Data_Browser fails to implement static String menuName.
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.multicamera.MultiCamera
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.pixelcalibrator.PixelCalibratorPlugin
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.projector.ProjectorPlugin
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.recall.RecallPlugin
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.slideexplorer.SlideExplorerPlugin
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.splitview.SplitView
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.stagecontrol.StageControl
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install autofocus plugin Autofocus
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install autofocus plugin OughtaFocus
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install autofocus plugin AutofocusDuo
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install autofocus plugin AutofocusTB
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install autofocus plugin OughtaFocus
LOG(2011-12-31T10:00:30.985929, 1936, 00000000001D2E20:): > Error: org.micromanager.browser.Data_Browser fails to implement static String tooltipDescription.
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): All devices unloaded.
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): > Notification for Device: Core Property: Initialize changed to value: 0
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=Core, name=Initialize, value=0
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): Device COM5 loaded from SerialManager and labeled as COM5
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): Device XYStage loaded from Prior and labeled as XYStage
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): Device XYStage set as default xyStage.
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=XYStage, name=Port, value=COM5
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=AnswerTimeout, value=2000.0000
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=BaudRate, value=9600
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=DelayBetweenCharsMs, value=0.0000
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=Handshaking, value=Off
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=Parity, value=None
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=StopBits, value=1
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=Verbose, value=0
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): Starting initialization sequence for 2 devices...
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: Attempting to set baud of COM5 to 9600
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: Attempting to set flow of COM5 to none
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: Attempting to set parity of COM5 to none
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: Attempting to set stopBits of COM5 to 1
LOG(2011-12-31T10:00:33.029533, 1936, 00000000001D2E20:): Device COM5 initialized.
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> comp,0

DBG(2011-12-31T10:00:33.232333, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:33.435134, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 28
DBG(2011-12-31T10:00:33.637934, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 42
DBG(2011-12-31T10:00:33.840734, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 56
DBG(2011-12-31T10:00:34.043535, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 70
DBG(2011-12-31T10:00:34.246335, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 84
DBG(2011-12-31T10:00:34.449135, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 98
DBG(2011-12-31T10:00:34.651936, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 112
DBG(2011-12-31T10:00:34.854736, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 126
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Device XYStage initialized.
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): > Notification for Device: Core Property: Initialize changed to value: 1
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Property set: device=Core, name=Initialize, value=1
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Auto shutter ON.
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): > Notification for Device: Core Property: AutoShutter changed to value: 1
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Property set: device=Core, name=AutoShutter, value=1
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Waiting for device COM5...
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Finished waiting.
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Waiting for device XYStage...
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> $

DBG(2011-12-31T10:00:35.244737, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:35.447537, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 28
DBG(2011-12-31T10:00:35.650338, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 42
DBG(2011-12-31T10:00:35.853138, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 56
DBG(2011-12-31T10:00:36.055938, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 70
DBG(2011-12-31T10:00:36.258739, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 84
DBG(2011-12-31T10:00:36.461539, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 98
DBG(2011-12-31T10:00:36.664339, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 112
DBG(2011-12-31T10:00:36.867140, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 126
LOG(2011-12-31T10:00:37.054340, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-31T10:00:37.054340, 1936, 00000000001D2E20:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

DBG(2011-12-31T10:00:37.054340, 1936, t:00000000001D2E20:) Finished waiting.
LOG(2011-12-31T10:00:37.054340, 1936, 00000000001D2E20:): System state cache updated.
LOG(2011-12-31T10:00:37.054340, 1936, 00000000001D2E20:): System state cache updated.
DBG(2011-12-31T10:00:37.054340, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:00:37.241540, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 13
DBG(2011-12-31T10:00:37.241540, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:00:37.241540, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:00:37.444341, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:37.444341, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:37.444341, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
LOG(2011-12-31T10:00:37.444341, 1936, 00000000001D2E20:): > Startup script file (C:\Program Files\Micro-Manager-1.4/MMStartup.bsh) not present.
DBG(2011-12-31T10:00:41.157147, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:00:41.359948, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:41.359948, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:41.359948, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:00:41.359948, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:00:41.562748, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:41.562748, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:41.562748, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:00:41.562748, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:00:41.765548, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:41.765548, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:41.765548, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:00:41.765548, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:00:41.937149, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 12
DBG(2011-12-31T10:00:41.937149, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:00:48.161560, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:00:48.364360, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:48.364360, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:48.364360, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 22869
DBG(2011-12-31T10:00:48.364360, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:00:48.567160, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:48.567160, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:48.567160, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- -19621
DBG(2011-12-31T10:00:48.567160, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:00:48.754361, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 13
DBG(2011-12-31T10:00:48.754361, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 22869
DBG(2011-12-31T10:00:48.754361, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:00:48.957161, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:48.972761, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 16
DBG(2011-12-31T10:00:48.972761, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- -19621
DBG(2011-12-31T10:00:58.285977, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> G,-<a href="tel:2147483648" target="_blank" value="+12147483648">2147483648,-<a href="tel:2147483648" target="_blank" value="+12147483648">2147483648

DBG(2011-12-31T10:00:58.488778, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:58.691578, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 28
DBG(2011-12-31T10:00:58.894378, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 42
DBG(2011-12-31T10:00:59.097179, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 56
DBG(2011-12-31T10:00:59.299979, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 70
DBG(2011-12-31T10:00:59.502779, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 84
DBG(2011-12-31T10:00:59.705580, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 98
DBG(2011-12-31T10:00:59.908380, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 112
DBG(2011-12-31T10:01:00.111181, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 126
LOG(2011-12-31T10:01:00.298381, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-31T10:01:00.298381, 1936, 00000000001D2E20:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

LOG(2011-12-31T10:01:00.298381, 1936, 00000000001D2E20:): Error occured. Device XYStage. Error in device XYStage: Serial command failed.  Is the device connected to the serial port?.

LOG(2011-12-31T10:01:00.298381, 1936, 00000000001D2E20:): >
java.lang.Exception: XY stage error in Thread[AWT-EventQueue-0,6,main]
  at org.micromanager.navigation.MultiStagePosition.goToPosition(MultiStagePosition.java:239)
  at org.micromanager.PositionListDlg.goToCurrentPosition(PositionListDlg.java:704)
  at org.micromanager.PositionListDlg$7.actionPerformed(PositionListDlg.java:458)
  at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
  at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
  at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
  at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
  at java.awt.Component.processMouseEvent(Unknown Source)
  at javax.swing.JComponent.processMouseEvent(Unknown Source)
  at java.awt.Component.processEvent(Unknown Source)
  at java.awt.Container.processEvent(Unknown Source)
  at java.awt.Component.dispatchEventImpl(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Window.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.EventQueue.dispatchEvent(Unknown Source)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.run(Unknown Source)


DBG(2011-12-31T10:01:01.733583, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:01:01.920784, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 13
DBG(2011-12-31T10:01:01.920784, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:01.920784, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:01:02.123584, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:02.123584, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:01:02.123584, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:02.123584, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:01:02.326384, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:02.326384, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:01:02.326384, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:02.326384, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:01:02.529185, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:02.529185, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:01:02.529185, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:07.287193, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> G,-<a href="tel:2147483648" target="_blank" value="+12147483648">2147483648,-<a href="tel:2147483648" target="_blank" value="+12147483648">2147483648

DBG(2011-12-31T10:01:07.489994, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:07.692794, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 28
DBG(2011-12-31T10:01:07.895594, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 42
DBG(2011-12-31T10:01:08.098395, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 56
DBG(2011-12-31T10:01:08.301195, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 70
DBG(2011-12-31T10:01:08.503995, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 84
DBG(2011-12-31T10:01:08.706796, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 98
DBG(2011-12-31T10:01:08.909596, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 112
DBG(2011-12-31T10:01:09.112396, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 126
LOG(2011-12-31T10:01:09.299597, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-31T10:01:09.299597, 1936, 00000000001D2E20:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

LOG(2011-12-31T10:01:09.299597, 1936, 00000000001D2E20:): Error occured. Device XYStage. Error in device XYStage: Serial command failed.  Is the device connected to the serial port?.

LOG(2011-12-31T10:01:09.299597, 1936, 00000000001D2E20:): >
java.lang.Exception: XY stage error in Thread[AWT-EventQueue-0,6,main]
  at org.micromanager.navigation.MultiStagePosition.goToPosition(MultiStagePosition.java:239)
  at org.micromanager.PositionListDlg.goToCurrentPosition(PositionListDlg.java:704)
  at org.micromanager.PositionListDlg$7.actionPerformed(PositionListDlg.java:458)
  at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
  at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
  at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
  at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
  at java.awt.Component.processMouseEvent(Unknown Source)
  at javax.swing.JComponent.processMouseEvent(Unknown Source)
  at java.awt.Component.processEvent(Unknown Source)
  at java.awt.Container.processEvent(Unknown Source)
  at java.awt.Component.dispatchEventImpl(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Window.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.EventQueue.dispatchEvent(Unknown Source)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.run(Unknown Source)


DBG(2011-12-31T10:01:10.672399, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:01:10.859599, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 13
DBG(2011-12-31T10:01:10.859599, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:10.859599, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:01:11.062400, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:11.062400, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:01:11.062400, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:11.062400, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:01:11.234000, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 12
DBG(2011-12-31T10:01:11.234000, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:11.234000, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:01:11.421200, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 13
DBG(2011-12-31T10:01:11.421200, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:16.288409, 1936, t:00000000001D2E20:) Waiting for device COM5...
DBG(2011-12-31T10:01:16.288409, 1936, t:00000000001D2E20:) Finished waiting.
DBG(2011-12-31T10:01:16.288409, 1936, t:00000000001D2E20:) Waiting for device XYStage...
DBG(2011-12-31T10:01:16.288409, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> $

DBG(2011-12-31T10:01:16.491209, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:16.694010, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 28
DBG(2011-12-31T10:01:16.896810, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 42
DBG(2011-12-31T10:01:17.099610, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 56
DBG(2011-12-31T10:01:17.302411, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 70
DBG(2011-12-31T10:01:17.505211, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 84
DBG(2011-12-31T10:01:17.708011, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 98
DBG(2011-12-31T10:01:17.910812, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 112
DBG(2011-12-31T10:01:18.113612, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 126
LOG(2011-12-31T10:01:18.300813, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-31T10:01:18.300813, 1936, 00000000001D2E20:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

DBG(2011-12-31T10:01:18.300813, 1936, t:00000000001D2E20:) Finished waiting.

*****************************************end of message December 31, 2011
 


------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create
new or port existing apps to sell to consumers worldwide. Explore the
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
micro-manager-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/micro-manager-general
Reply | Threaded
Open this post in threaded view
|

Re: driver compatibility issue with Prior XY stage and older H128 controller

lashford

Michael,
    It seems that the compatibility mode was intended for applications that were written for the older controller. This would let the newer controller respond to this older instruction set. 
   I think your rewrite of the adapter will get you past these issues. I was looking at the prior code and would have recommended the same modifications you have done. Wish I could have been of more assistance.
   Louis

On Jan 2, 2012 5:52 PM, "Michael Z Lin [via Micro-Manager]" <[hidden email]> wrote:
Thanks for looking into this, Louis.

I've read the H129 and H128 manuals carefully on the compatibility issue. It's confusing for more than one reason, but in short the comp,0 command doesn't exist for the H128 so is simply ignored and gives a timeout error as you say. Switching it to "comp,1" I would expect would give the same error. The purpose of comp,1 is to make H129 and later behave more similarly to H128. By the way, I actually believe the current adapter meant to issue "comp,1" because the notes in the source code say "make sure we are in compatibility mode" which would be "comp,1" not "comp,0". In any case it makes no difference to the H128 which can't understand either.

I agree it's not good to be issuing commands to the H128 that get ignored. In fact on reading the source code I think the most likely problem may be that the step size/resolution of the stage is set to 0. The adapter as written initializes the step size to 0, then queries for actual resolution on startup. But this is in the initialization sequence after the comp,0 and the sequence aborts by returning an error as the initialization function result before getting to the resolution query. Furthermore the command used to report resolution ("RES,s" if you dig down into the subroutines) doesn't work on the H128 anyway which does not report or adjust resolution. (Finally I think the adapter may be mistaken in commanding "RES,s" instead of "RES,x" as according to the H129 manual I am reading "RES,s,c" is used to set resolution c to both axes but RES,x or RES,y should be used to report the resolution.)

The step size being set to 0 would explain the two major symptoms: x and y position steps being returned by the controller get multiplied by 0 to get cartesian coordinates of 0,0. Then when the go to command gets issued, the number of steps being asked for becomes 0 divided by 0, which must become <a href="tel:2147483648" value="+12147483648" target="_blank">2147483648 for each dimension, and this is out of range for the H128 and one gets an error.

I have rewritten the source code to remove all the commands unrecognized by the H128, to convert the commands and limits with H128 equivalents, and to hard-code stage resolution to 0.1 (this depends on the motor and all I can find is 0.04 is the min resolution for the early Proscan stages). Since the H128 doesn't allow status queries by $ or # I just set the busy variable to always false and added the EnableDelay() function, assuming it is the function responsible for allowing user-specified delay. Because I had no C++ programming experience and can only try inferring the APIs from what I can read, I sent it to Nico to check, finalize, and incorporate if possible.

Thanks again and I'll let you all know if a new version of the adapter works.

Cheers,
Michael

On Jan 1, 2012, at 9:51 PM, lashford wrote:

Michael,
      One thing that I noticed in your run log was that the first command to the stage after completion of the serial initialization was as follows:
 
LOG(2011-12-31T10:00:33.029533, 1936, 00000000001D2E20:): Device COM5 initialized.
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> comp,0
    The comp command sets the command set for the controller to Compatibility mode
 
     This is not discussed in the H128 manual but in the ProScan manual it says the following about the Comp command:
-------------------------------------------------------------------------------
Command    Argument    Response
-------------------------------------------------------------------------------
COMP            m                0

Sets the controller compatibility mode for users who want to wait

for ‘R’ at the end of the move. Compatibility is on if m = 1 and off

if m = 0. Setting COMP,1 will result in less flexibility. For example,

SOAK cannot be used and commands sent while the joystick is

active will be lost. Compatibility mode is offered for users who wish

the Commands to be compatible with earlier H127/H128 Prior

Controllers.

---------------
 
It looks to me like you are timing out on this command as it returned the following:
 
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
 
This may be because you have a problem with the serial connection to the device. However I think you indicated that you can talk to the device using
hyper terminal OK so that says your connection to the hardware is not the issue. You really cant pay much attention to errors that come following a timeout because this leaves the stage in a possibly undefined state. I see you do get an indication that the stage was initialized following the bad command timeout.
 
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Device XYStage initialized.
 
I think I would try to change the Compatibility mode switch to 1 and try that first. The rest I would ignore till you  can get valid command responses in the initial stage setup. The problem is that the other commands you are sending to the unit seem to assume that you are in the 'standard command mode. These commands are not supported for the H128 .
 
Another Note:
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> $
     The '$' command is a standard mode command, that is to say, it is not valid in the compatibility mode. This command is not supported on the H128.
 
The equivalent would be '#' for the H130 but I don't think that this command is supported on the H128.
 
 These are just some of my observations about what you are seeing in your error log.
 
   Thanks,
    Louis Ashford

On Sat, Dec 31, 2011 at 10:44 AM, Michael Z Lin [via Micro-Manager] <<a href="x-msg://266/user/SendEmail.jtp?type=node&amp;node=7143141&amp;i=0" target="_top" rel="nofollow" link="external">[hidden email]> wrote:
A followup - I realize the corelog output of an attempt to go to an unsuccessfully stored position might be useful as well. It is pasted below.

Here I just started Micromanager, changed the XY position of the stage by joystick, stored the point in the Multi-D acquisition list, whereupon the XY coordinates are shown on the screen as 0,0. I then used to joystick to move the stage elsewhere and asked Micromanager to go to the stored point, whereupon the stage moved to the origin previously stored in the H128 controller using terminal commands, and then MM gave the error message "XY Stage error." I then repeated moving away and going to the stored point again with the same result. By the way I made a mistake in my previous email -- the error message after a failed move-to-point command is not type 22 (sorry I remembered that from elsewhere).

You can see in the corelog that the program asking for XY position elicits non-zero responses, so it is not clear to me why MM stores all positions as 0,0. Then when the go to point command is issued, MM asks to go to -<a href="tel:<a href="tel:2147483648" value="+12147483648" target="_blank">2147483648" target="_blank" value="<a href="tel:%2B12147483648" value="+12147483648" target="_blank">+12147483648"><a href="tel:2147483648" value="+12147483648" target="_blank">2147483648,-<a href="tel:<a href="tel:2147483648" value="+12147483648" target="_blank">2147483648" target="_blank" value="<a href="tel:%2B12147483648" value="+12147483648" target="_blank">+12147483648"><a href="tel:2147483648" value="+12147483648" target="_blank">2147483648. It is always this number even when multiple points are stored and in different MM sessions.

Any help you can provide will be greatly appreciated. By the way we have cited MM in the first paper submission from our new lab!

Cheers,
Michael

**************************corelog output pasted below

LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): -------->>
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): Core session started on 2011-12-31T10:00:27.663124 by Lin Lab on LINLAB-XPS200
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): Debug logging disabled
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): Debug logging enabled
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): > MM Studio version: 1.4.7
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): > MMCore version 2.3.1
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): > Device API version 49, Module API version 7
LOG(2011-12-31T10:00:27.663124, 1936, 00000000001D2E20:): > Operating System: Windows Vista 6.1
DBG(2011-12-31T10:00:27.663124, 1936, t:00000000001D2E20:) Circular buffer set to 25 MB.
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.clojureeditor.ClojureEditorPlugin
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.CRISP.CRISP
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.browser.Data_Browser
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Error: Data_Browser fails to implement static String menuName.
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.multicamera.MultiCamera
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.pixelcalibrator.PixelCalibratorPlugin
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.projector.ProjectorPlugin
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.recall.RecallPlugin
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.slideexplorer.SlideExplorerPlugin
LOG(2011-12-31T10:00:30.876729, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.splitview.SplitView
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install plugin org.micromanager.stagecontrol.StageControl
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install autofocus plugin Autofocus
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install autofocus plugin OughtaFocus
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install autofocus plugin AutofocusDuo
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install autofocus plugin AutofocusTB
LOG(2011-12-31T10:00:30.892329, 1936, 00000000001D2E20:): > Attempting to install autofocus plugin OughtaFocus
LOG(2011-12-31T10:00:30.985929, 1936, 00000000001D2E20:): > Error: org.micromanager.browser.Data_Browser fails to implement static String tooltipDescription.
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): All devices unloaded.
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): > Notification for Device: Core Property: Initialize changed to value: 0
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=Core, name=Initialize, value=0
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): Device COM5 loaded from SerialManager and labeled as COM5
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): Device XYStage loaded from Prior and labeled as XYStage
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): Device XYStage set as default xyStage.
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=XYStage, name=Port, value=COM5
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=AnswerTimeout, value=2000.0000
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=BaudRate, value=9600
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=DelayBetweenCharsMs, value=0.0000
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=Handshaking, value=Off
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=Parity, value=None
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=StopBits, value=1
DBG(2011-12-31T10:00:32.998333, 1936, t:00000000001D2E20:) Property set: device=COM5, name=Verbose, value=0
LOG(2011-12-31T10:00:32.998333, 1936, 00000000001D2E20:): Starting initialization sequence for 2 devices...
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: Attempting to set baud of COM5 to 9600
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: Attempting to set flow of COM5 to none
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: Attempting to set parity of COM5 to none
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: Attempting to set stopBits of COM5 to 1
LOG(2011-12-31T10:00:33.029533, 1936, 00000000001D2E20:): Device COM5 initialized.
DBG(2011-12-31T10:00:33.029533, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> comp,0

DBG(2011-12-31T10:00:33.232333, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:33.435134, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 28
DBG(2011-12-31T10:00:33.637934, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 42
DBG(2011-12-31T10:00:33.840734, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 56
DBG(2011-12-31T10:00:34.043535, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 70
DBG(2011-12-31T10:00:34.246335, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 84
DBG(2011-12-31T10:00:34.449135, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 98
DBG(2011-12-31T10:00:34.651936, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 112
DBG(2011-12-31T10:00:34.854736, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 126
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Device XYStage initialized.
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): > Notification for Device: Core Property: Initialize changed to value: 1
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Property set: device=Core, name=Initialize, value=1
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): Auto shutter ON.
LOG(2011-12-31T10:00:35.041937, 1936, 00000000001D2E20:): > Notification for Device: Core Property: AutoShutter changed to value: 1
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Property set: device=Core, name=AutoShutter, value=1
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Waiting for device COM5...
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Finished waiting.
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Waiting for device XYStage...
DBG(2011-12-31T10:00:35.041937, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> $

DBG(2011-12-31T10:00:35.244737, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:35.447537, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 28
DBG(2011-12-31T10:00:35.650338, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 42
DBG(2011-12-31T10:00:35.853138, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 56
DBG(2011-12-31T10:00:36.055938, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 70
DBG(2011-12-31T10:00:36.258739, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 84
DBG(2011-12-31T10:00:36.461539, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 98
DBG(2011-12-31T10:00:36.664339, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 112
DBG(2011-12-31T10:00:36.867140, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 126
LOG(2011-12-31T10:00:37.054340, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-31T10:00:37.054340, 1936, 00000000001D2E20:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

DBG(2011-12-31T10:00:37.054340, 1936, t:00000000001D2E20:) Finished waiting.
LOG(2011-12-31T10:00:37.054340, 1936, 00000000001D2E20:): System state cache updated.
LOG(2011-12-31T10:00:37.054340, 1936, 00000000001D2E20:): System state cache updated.
DBG(2011-12-31T10:00:37.054340, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:00:37.241540, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 13
DBG(2011-12-31T10:00:37.241540, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:00:37.241540, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:00:37.444341, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:37.444341, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:37.444341, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
LOG(2011-12-31T10:00:37.444341, 1936, 00000000001D2E20:): > Startup script file (C:\Program Files\Micro-Manager-1.4/MMStartup.bsh) not present.
DBG(2011-12-31T10:00:41.157147, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:00:41.359948, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:41.359948, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:41.359948, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:00:41.359948, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:00:41.562748, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:41.562748, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:41.562748, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:00:41.562748, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:00:41.765548, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:41.765548, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:41.765548, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:00:41.765548, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:00:41.937149, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 12
DBG(2011-12-31T10:00:41.937149, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:00:48.161560, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:00:48.364360, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:48.364360, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:48.364360, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 22869
DBG(2011-12-31T10:00:48.364360, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:00:48.567160, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:48.567160, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:00:48.567160, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- -19621
DBG(2011-12-31T10:00:48.567160, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:00:48.754361, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 13
DBG(2011-12-31T10:00:48.754361, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 22869
DBG(2011-12-31T10:00:48.754361, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:00:48.957161, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:48.972761, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 16
DBG(2011-12-31T10:00:48.972761, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- -19621
DBG(2011-12-31T10:00:58.285977, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> G,-<a href="tel:<a href="tel:2147483648" value="+12147483648" target="_blank">2147483648" target="_blank" value="<a href="tel:%2B12147483648" value="+12147483648" target="_blank">+12147483648"><a href="tel:2147483648" value="+12147483648" target="_blank">2147483648,-<a href="tel:<a href="tel:2147483648" value="+12147483648" target="_blank">2147483648" target="_blank" value="<a href="tel:%2B12147483648" value="+12147483648" target="_blank">+12147483648"><a href="tel:2147483648" value="+12147483648" target="_blank">2147483648

DBG(2011-12-31T10:00:58.488778, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:00:58.691578, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 28
DBG(2011-12-31T10:00:58.894378, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 42
DBG(2011-12-31T10:00:59.097179, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 56
DBG(2011-12-31T10:00:59.299979, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 70
DBG(2011-12-31T10:00:59.502779, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 84
DBG(2011-12-31T10:00:59.705580, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 98
DBG(2011-12-31T10:00:59.908380, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 112
DBG(2011-12-31T10:01:00.111181, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 126
LOG(2011-12-31T10:01:00.298381, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-31T10:01:00.298381, 1936, 00000000001D2E20:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

LOG(2011-12-31T10:01:00.298381, 1936, 00000000001D2E20:): Error occured. Device XYStage. Error in device XYStage: Serial command failed.  Is the device connected to the serial port?.

LOG(2011-12-31T10:01:00.298381, 1936, 00000000001D2E20:): >
java.lang.Exception: XY stage error in Thread[AWT-EventQueue-0,6,main]
  at org.micromanager.navigation.MultiStagePosition.goToPosition(MultiStagePosition.java:239)
  at org.micromanager.PositionListDlg.goToCurrentPosition(PositionListDlg.java:704)
  at org.micromanager.PositionListDlg$7.actionPerformed(PositionListDlg.java:458)
  at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
  at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
  at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
  at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
  at java.awt.Component.processMouseEvent(Unknown Source)
  at javax.swing.JComponent.processMouseEvent(Unknown Source)
  at java.awt.Component.processEvent(Unknown Source)
  at java.awt.Container.processEvent(Unknown Source)
  at java.awt.Component.dispatchEventImpl(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Window.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.EventQueue.dispatchEvent(Unknown Source)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.run(Unknown Source)


DBG(2011-12-31T10:01:01.733583, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:01:01.920784, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 13
DBG(2011-12-31T10:01:01.920784, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:01.920784, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:01:02.123584, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:02.123584, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:01:02.123584, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:02.123584, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:01:02.326384, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:02.326384, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:01:02.326384, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:02.326384, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:01:02.529185, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:02.529185, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:01:02.529185, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:07.287193, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> G,-<a href="tel:<a href="tel:2147483648" value="+12147483648" target="_blank">2147483648" target="_blank" value="<a href="tel:%2B12147483648" value="+12147483648" target="_blank">+12147483648"><a href="tel:2147483648" value="+12147483648" target="_blank">2147483648,-<a href="tel:<a href="tel:2147483648" value="+12147483648" target="_blank">2147483648" target="_blank" value="<a href="tel:%2B12147483648" value="+12147483648" target="_blank">+12147483648"><a href="tel:2147483648" value="+12147483648" target="_blank">2147483648

DBG(2011-12-31T10:01:07.489994, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:07.692794, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 28
DBG(2011-12-31T10:01:07.895594, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 42
DBG(2011-12-31T10:01:08.098395, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 56
DBG(2011-12-31T10:01:08.301195, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 70
DBG(2011-12-31T10:01:08.503995, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 84
DBG(2011-12-31T10:01:08.706796, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 98
DBG(2011-12-31T10:01:08.909596, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 112
DBG(2011-12-31T10:01:09.112396, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 126
LOG(2011-12-31T10:01:09.299597, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-31T10:01:09.299597, 1936, 00000000001D2E20:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

LOG(2011-12-31T10:01:09.299597, 1936, 00000000001D2E20:): Error occured. Device XYStage. Error in device XYStage: Serial command failed.  Is the device connected to the serial port?.

LOG(2011-12-31T10:01:09.299597, 1936, 00000000001D2E20:): >
java.lang.Exception: XY stage error in Thread[AWT-EventQueue-0,6,main]
  at org.micromanager.navigation.MultiStagePosition.goToPosition(MultiStagePosition.java:239)
  at org.micromanager.PositionListDlg.goToCurrentPosition(PositionListDlg.java:704)
  at org.micromanager.PositionListDlg$7.actionPerformed(PositionListDlg.java:458)
  at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
  at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
  at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
  at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
  at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
  at java.awt.Component.processMouseEvent(Unknown Source)
  at javax.swing.JComponent.processMouseEvent(Unknown Source)
  at java.awt.Component.processEvent(Unknown Source)
  at java.awt.Container.processEvent(Unknown Source)
  at java.awt.Component.dispatchEventImpl(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
  at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
  at java.awt.Container.dispatchEventImpl(Unknown Source)
  at java.awt.Window.dispatchEventImpl(Unknown Source)
  at java.awt.Component.dispatchEvent(Unknown Source)
  at java.awt.EventQueue.dispatchEvent(Unknown Source)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.run(Unknown Source)


DBG(2011-12-31T10:01:10.672399, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:01:10.859599, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 13
DBG(2011-12-31T10:01:10.859599, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:10.859599, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:01:11.062400, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:11.062400, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 15
DBG(2011-12-31T10:01:11.062400, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:11.062400, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PX

DBG(2011-12-31T10:01:11.234000, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 12
DBG(2011-12-31T10:01:11.234000, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:11.234000, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> PY

DBG(2011-12-31T10:01:11.421200, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 13
DBG(2011-12-31T10:01:11.421200, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer <- 0
DBG(2011-12-31T10:01:16.288409, 1936, t:00000000001D2E20:) Waiting for device COM5...
DBG(2011-12-31T10:01:16.288409, 1936, t:00000000001D2E20:) Finished waiting.
DBG(2011-12-31T10:01:16.288409, 1936, t:00000000001D2E20:) Waiting for device XYStage...
DBG(2011-12-31T10:01:16.288409, 1936, t:00000000001D2E20:) Device COM5 debug message: SetCommand -> $

DBG(2011-12-31T10:01:16.491209, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 14
DBG(2011-12-31T10:01:16.694010, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 28
DBG(2011-12-31T10:01:16.896810, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 42
DBG(2011-12-31T10:01:17.099610, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 56
DBG(2011-12-31T10:01:17.302411, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 70
DBG(2011-12-31T10:01:17.505211, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 84
DBG(2011-12-31T10:01:17.708011, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 98
DBG(2011-12-31T10:01:17.910812, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 112
DBG(2011-12-31T10:01:18.113612, 1936, t:00000000001D2E20:) Device COM5 debug message: GetAnswer # retries = 126
LOG(2011-12-31T10:01:18.300813, 1936, 00000000001D2E20:): Device COM5 message: TERM_TIMEOUT error occured!
LOG(2011-12-31T10:01:18.300813, 1936, 00000000001D2E20:): Error occured. Device COM5. Error in device COM5: Error code 107 (6b hex).

DBG(2011-12-31T10:01:18.300813, 1936, t:00000000001D2E20:) Finished waiting.

*****************************************end of message December 31, 2011
 


------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create
new or port existing apps to sell to consumers worldwide. Explore the
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
micro-manager-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/micro-manager-general



If you reply to this email, your message will be added to the discussion below:
http://micro-manager.3463995.n2.nabble.com/Device-CMMCore-getShutterOpen-unknown-Error-in-Device-tp7136597p7145385.html
To unsubscribe from Device CMMCore::getShutterOpen() unknown Error in Device, click here.
NAML
Reply | Threaded
Open this post in threaded view
|

Re: driver compatibility issue with Prior XY stage and older H128 controller

Gong
In reply to this post by Michael Z Lin
Dear Michael,

In our lab, instead of using the MultiD function provided by MM, we wrote our own Beanshell scripts to command our XY stage controller, ESP300. We were able to command the controller although an MM adaptor has not been accomplished for the controller. Here is what we did,

1. configure & select the COM port for the stage controller
Go to Menu-> Tools-> Hardware Configuration Wizard (this can be done without having any software adaptor for the device. The purpose of this step is to ensure that MM recognizes and communicates with the controller.)


2. write a Beanshell script
Go to Menu -> Tools -> Script Panel. Then write your script in the panel that pops up. I assume that you can command your XY stage controller by Hyperterminal using commands specific for your hardware, provided by the manufacturer.

Here is an example of script you should use: mmc.setSerialPortCommand("COM1", "1pa8", "\r\n").
- "COM1": the comport that your XY controller is assigned with; if your device is assigned with COM2, type in "COM2" instead  
- "1pa8": this command is only for our controller (it moves the actuator in axis one to position 8); you probably have some different command for your own device. Refer to your controller instruction manual.
-"\r\n": this is carriage return that sends your command to the device via MM. Note: if this carriage return does not work, try "\n"

Let me know if you have any more questions.

Regards,

Gong