Decrease frame rate on Chameleon3
AnsweredI am trying to adjust the frame rate of Chameleon3 from around 475 Hz down to 20 Hz but having a problem modifying it. In SpinView, I have tried checking to enable Acquisition Frame Rate Control, with Frame Rate Auto off, and when I adjust the frame rate in the GUI it immediately reverts to the previous value. Are there any other parameters that should be modified to free up the lock on the acquisition rate? Is the only way to modify the frame rate through trigger mode?
In the SDK I have copied my code and the error message that I'm getting below.
d = struct.pack('d', 20.0)
cam.AcquisitionFrameRate.
line 121, in change_frame_rate
cam.AcquisitionFrameRate.
line 6920, in SetValue
return _PySpin.IFloat_SetValue(self, Value, Verify)
TypeError: Wrong number or type of arguments for overloaded function 'IFloat_SetValue'.
Possible C/C++ prototypes are:
Spinnaker::GenApi::IFloat::
Spinnaker::GenApi::IFloat::
-
Official comment
To summarize this issue in case it helps others, there were a couple of possible causes here:
1. Old firmware and new firmware have some different naming conventions. For example, AcqusitionFrameRateEnabled was called AcqusitionFramerateEnable in older firmware.
2. Another possible cause of the example code not working is that there were multiple versions of Spinnaker installed on the same PC, and there was likely a library conflict.
Below is python code example on how to disable auto framerate, enable framerate control, and manually setting a framerate:
### Disable FrameRateAuto ###node_frame_rate_auto = PySpin.CEnumerationPtr(nodemap.GetNode("AcquisitionFrameRateAuto"))if not PySpin.IsAvailable(node_frame_rate_auto) or not PySpin.IsWritable(node_frame_rate_auto):print('Unable to turn off Frame Rate Auto (enum retrieval). Aborting...')return Falsenode_frame_rate_auto_off = node_frame_rate_auto.GetEntryByName("Off")if not PySpin.IsAvailable(node_frame_rate_auto_off) or not PySpin.IsReadable(node_frame_rate_auto_off):print ('Unable to set Frame Rate Auto to Off (entry retrieval). Aborting...')return Falseframe_rate_auto_off = node_frame_rate_auto_off.GetValue()node_frame_rate_auto.SetIntValue(frame_rate_auto_off)print ('Frame Rate Auto set to Off...')### Enable AcquisitionFrameRateControlEnable ###node_acquisition_frame_rate_control_enable = PySpin.CBooleanPtr(nodemap.GetNode("AcquisitionFrameRateEnabled"))if not PySpin.IsAvailable(node_acquisition_frame_rate_control_enable) or not PySpin.IsWritable(node_acquisition_frame_rate_control_enable):print ('Unable to turn on Acquisition Frame Rate Control Enable (bool retrieval). Aborting...')return Falsenode_acquisition_frame_rate_control_enable.SetValue(True)print ('Acquisiton Frame Rate Control Enabled...')### Set AcquisitionFrameRate to 10 FPS ###if cam.AcquisitionFrameRate.GetAccessMode() != PySpin.RW:print ('Unable to set Frame Rate. Aborting...')return Falsecam.AcquisitionFrameRate.SetValue(10.0)print ('Acquisiton Frame Rate set to 10 FPS...') -
Hello Josephine,
This should be possible. Could you please open a support ticket on https://flir.custhelp.com/app/ask ? Then we can take a look in a remote session.
Best regards,
Manuel
0
Please sign in to leave a comment.
Comments
2 comments