02-26-2014 07:51 AM
Hello,
Could you share the SDK from Zeiss?
Best regards.
02-26-2014 10:02 AM
A stipulation for getting the SDK from them was to sign a nondisclosure agreement. But if you contact Zeiss customer support they will put you in touch with the people in Germany who will kindly share it with you.
02-26-2014 10:11 AM
Peabody_bass I am following up with what I had emailed you previously. In the mean time, be sure that you are using the mrfw64 driver and dll. The MRM rev 3 has specific drivers separate from rev 2 and separate ones for 64 and 32 bit. I don't remember having trouble with camera initialization. The tricky part for me was when I started trying to acquire images.
Check out the image in this post:
Be sure that the pointer you use in Mcam Acquisition is set to a value and not a pointer to a value. You might know this but I had quite a time figuring it out. Good luck
02-26-2014 11:34 AM
Hi JJsword,
I never received an email from you, but I did reply to your PrivateMessage.
I was able to get initialization to work. I was using 'mcam64.dll' instead of 'mrfw64.dll'.
I am having an issue with acquisition, though (just like you mentioned). I was already using a the GetPixelPointer function, and passing it as a value. But I'm getting error 6, ''Internal memory error (image size) happened during acquisition'. Thanks.
02-26-2014 11:54 AM
02-26-2014 12:34 PM
02-26-2014 03:04 PM
What representation do you use for those values (I32, U16, etc)? I'm assuming you pass it as 'Adapt to Type' and 'Handles by Value'?
Also, when I retrieve the resolutions from the camera, I get [1388,1040], not [1376,1040]. I'm guessing it's not a problem though, as long as the values are divisible by 4. Thanks.
02-26-2014 03:38 PM
The pImagedata calling McamAcquisition that is put into the Image array are unsigned 16 bit integers U16. That pImagedata is set to a Numeric type, Unsigned pointer sized integer, and passed as a Value. Setting it to Adapt to Type and Handles by Value will cause it to crash. Not sure why but I just confirmed the crash with the MRM rev 3 with those latter settings.
The 1388 by 1040 is the reason for setting a ROI that is 1376 by 1040 with McamSetFrameSize. You have no other way (that I know about) of adjusting the array size so your Image array that is set with IMAQ SetImageSize is either too large (causing a staggared image that spills over to the next line) or too small, causing a crash.
02-26-2014 04:05 PM
One correction is that while the Image array is and allocated unsigned 16 bit array, pImagedata itself is a 32 bit pointer variable containing the address of the array, which I have set to U32. Sorry for the confusion.
02-27-2014 02:22 PM
Hi jjsword,
Thanks for the help. I'm was able to set the frame size to 1376x1040 (confirmed by calling 'GetCurrentFrameSize'). But I still get the same error (#6) when acquiring.
What resolution do you set to LV Image Buffer? What value do you use for the 'AllocatedSize' input for 'AcquisitionEx'?
So we are on the same page, here is my DLL call configuration for 'AcquisitionEx':
int32_t McammAcquisitionEx(int32_t cameraindex, uint32_t pImageData, int32_t allocatedSize, int32_t pCallBack, uint32_t UserParam);
Are you using the same?