LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Register Manipulation with IEEE-1394 Basler A601f-HDR

Hello,
I am learning to work with the NI IMAQ Vision Acquisition package and a Basler A601f-HDR to analyze images with Labview.  However, all of my efforts to alter the registers for the camera have been unsuccessful.  My goal is to take advantage of the HDR feature of the camera by using the Vendor Specific color coding.  The manual says to set register F1F0 0210 to a value of 128.  However, when I write to the register, it is not changed.  In fact, it is a value that doesn't correspond to any of the codings listed in the manual.  The codings should be 0, 5, or 128, and it is 5000000h.  Perhaps I am interpreting the registers wrong?  I would appreciate any help.  Attached is the program I have been working with.
Thanks,
Shawn
0 Kudos
Message 1 of 4
(3,335 Views)
Hello,

Are you sure 128 is the right value to write (and memory address)?  Try asking Basler if this is the correct value.

Also, try putting a IMAQ1394 Read Registers function directly after your first Write Registers function to see the register is ever being written.  If this works, you can try putting your initial Write Registers function after the Grab Setup function instead of before it.

For more specific information on writing/reading registers, see Appendix A of the NI-IMAQ 1394 User Manual.  This also includes some examples.
User manual located at:
Start>>Programs>>National Instruments>>Vision>>Documentation>>NI-IMAQ For IEEE 1394 Cameras User Manual

Allen H.
0 Kudos
Message 2 of 4
(3,315 Views)
The problem has been resolved.  Apparently, registers cannot be written after a "Grab Setup", and they get reset if written to before a "Grab Setup".  The solution was to, instead, use all Low Level SubVi's, beginning with "Configure Acquisition", then write to the registers, then "Start Acquisition".  Using this method, I am even able to write to other registers in a loop with "Get Image".

Another part of the problem is that LabView uses big endian format, and the camera uses little endian, so that's why I wasn't seeing the expected values.  I wrote a SubVI to convert between the two, but if someone has a similar VI, I'd appreciate looking at it to make sure mine is correct.

Now the problem is that I can't obtain the 16-bit raw data from the camera.  The Low Level "Get Image Data" SubVI uses a "Call Library Function Node" that returns an unsigned 8-bit type.  Does anyone have a suggestion of an alternative way to extract the raw 16-bit image data from the camera?  Is there a register address I can read directly from to get this?  Thanks again!

Shawn
Labview v7.1
0 Kudos
Message 3 of 4
(3,289 Views)
A temporary solution I found was to use the "IMAQ Image ToArray" SubVI.  Do you believe any data is lost since this is not read directly from the camera, but converted from an image?
0 Kudos
Message 4 of 4
(3,286 Views)