04-10-2007 07:06 AM
Dim cameraInformationArray() As CWIMAQdx.CameraInformation
status = CWIMAQdx.EnumerateCameras(cameraInformationArray, True)
status = CWIMAQdx.OpenCamera(cameraInformationArray(0).InterfaceName, CWIMAQdx.CameraControlMode.Controller, session)
Dim vma() As CWIMAQdx.VideoMode
Dim vmaCurrent As Long
status = CWIMAQdx.EnumerateVideoModes(session, vma, vmaCurrent)
Unfortionally EnumerateVideoModes does not fill in the vma table... How can I make this work?
Dim vm As New CWIMAQdx.VideoMode
status = CWIMAQdx.GetAttribute(session, "AcquisitionAttributes::VideoMode", CWIMAQdx.ValueType.EnumItem, vm)
Also, the GetAttribute does not return the VideoMode as requested.
04-10-2007 08:15 AM
I found some other issues on the web where they say you should first uninstall before installing the new NI-versions.
So I uninstalled all the Acquisition-software and drivers and reïnstalled it.
Now the code works!
Dim
cameraInformationArray() As CWIMAQdx.CameraInformation = Nothing
Dim videoModeArray() As CWIMAQdx.VideoMode = Nothing
Dim currentMode As Integer
status = CWIMAQdx.EnumerateCameras(cameraInformationArray, True)
status = CWIMAQdx.OpenCamera(cameraInformationArray(0).InterfaceName, CWIMAQdx.CameraControlMode.Controller, session)
status = CWIMAQdx.EnumerateVideoModes(session, videoModeArray, currentMode)
For Each vm As CWIMAQdx.VideoMode In videoModeArray
Me.combobox.Items.Add(vm.Name)
Next
04-10-2007 08:46 AM
GetAttribute and SetAttribute still don't seem to work...
Does anybody have code that works and could post it here?
04-10-2007 10:08 AM
status = CWIMAQdx.SetAttribute(session, "CameraAttributes::Brightness::Value", CWIMAQdx.ValueType.F64, 255)
status = CWIMAQdx.SetAttribute(session,
"AcquisitionAttributes::VideoMode", CWIMAQdx.ValueType.EnumItem, vm)
{"Attempted to read or write protected memory. This is often an indication that other memory is corrupt."}
04-10-2007 01:26 PM
status = CWIMAQdx.SetAttribute(session, "AcquisitionAttributes::VideoMode", CWIMAQdx.ValueType.String, vm.Name)
04-12-2007 04:15 AM
s = CWIMAQdx.SetAttribute(session,
"AcquisitionAttributes::VideoMode", CWIMAQdx.ValueType.U32, vm.Value)CWIMAQdx.StopAcquisition(session)
CWIMAQdx.StartAcquisition(session)
04-12-2007 04:37 AM - edited 04-12-2007 04:37 AM
It seems that sometimes when I change the videomode, the image gets scrambled (and stays scrambled until I restart the camera). I guess this is because of buffers being written or read on a wrong moment. How can I make sure this does not happen? (I first thought dat using IgnoreFirstFrame would do the trick, but that did not help.)
Message Edited by Snipe on 04-12-2007 04:38 AM