LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Accessing advanced camera properties

I need to access some of the advanced features in my Basler A601f-HDR. To do this I need to read and write data directly to the camera DCAM registers. However the documentation I have with the camera gives addresses that are grater than 32-bits wide, for example step one states ‘write quadlet data 0x0030 533b to 0xffff f2f0 0000’, i.e. that address is 48-bits.

 

Further to this the documentation talks about using 128-bit Globally Unique Identifiers (GUID) or Universal Unique Identifiers (UUID), which consist of a 32-bit number, two 16-bit numbers and a sequence of 8 bytes. However I assume that these consist of a number of sequential address locations.

 

How can I access these features when the LabView read and write VI’s only allow 32-bit addresses?

 

Thanks
0 Kudos
Message 1 of 4
(2,829 Views)

Further Information

 

Since all camera addresses are in the form FFFF Fxxx xxxx I assumed that the leading FFFF could be dropped from the address to give a 32-bit number accessible using LabView. I then used the camera information property to get the base address of the camera, which is F0F00000. Using this as the base for my program I tried to read information from the registers but always got 0, even if I had just written non-zero data to the same address.

 

If anyone has experience using LabView to write to IEEE1394 camera registers pleas let me know if they have had a similar problem.

 

Thanks
0 Kudos
Message 2 of 4
(2,823 Views)
Your assumption regarding the upper 16-bits being fixed is mostly correct. Actually the top 20-bits is fixed at 0xFFFFF. The driver only uses the lowest 28-bits of the address and masks it with the fixed value before accessing registers.

Address 0xF0F00000 is a write only register. It is used to intialize/reset the camera. The register is self clearing. Once the camera is initialized, the camera sets the register back to zero. Thus you would not see anything in that register unless the camera was still resetting.

Try reading from a reading only register like 0xF0F00100. You should retrieve a bit field of the available video formats.

As for your example, use the address 0xF2F00000 to access the advanced features.

Hope this helps,

Johann


Message 3 of 4
(2,813 Views)
Thanks Johann this really helped. I started to read from 0xF2F00000 and 0xF0F00100 then experimented with similar address and got it to work.
0 Kudos
Message 4 of 4
(2,795 Views)