DRIVE OS Version: 7.0.3
Issue Description: We are trying to run a Valeo IMX728 at 20fps by modifying the Fsync generator to 20Hz. Despite changing the generator frequency, we find the IMX728 still runs at 30fps. I tested both a Valeo IMX728 and Valeo IMX623, and the IMX623 works as expected (runs at 20fps). Is modifying the Fsync generator to 20Hz expected to work for the IMX728?
Summary of steps:
- Modify Fsync Generator 0 from 30Hz (default) to 20Hz using fsync_debug:
$ cd /opt/nvidia/drive-linux/samples/nvmedia/nvsipl/test/fsync_debug
$ sudo ./fsync_debug stopgroup 0
$ sudo ./fsync_debug modifygenerator 0 0 20 25 0
$ sudo ./fsync_debug startgroupnow 0
- Run nvsipl_camera with 1 Valeo IMX728 connected to Deser D, Link 0:
$ ./nvsipl_camera -c V1SIM728MPRU3030ND1_5Des_CPHY_x4 --link-enable-masks "0x0000 0x0000 0x0000 0x0001 0x0000" -0 -1 --showfps
Pipeline: 10 ISP Output: 2 is using RGBA PACKED FLOAT16 PL SENSOR_RGBA
MAX96712: Revision 5 detected
MAX96712 Link 0: PHY optimization was enabled
MAX96717: Revision 6 detected!
Sensor IMX728 Rev 0x34 RGGB detected!
nvsipl_camera: Opened NITO file for module "V1SIM728MPRU3030ND1", file name: "/usr/share/camera/V1SIM728MPRU3030ND1.nito"
Enter 'les' followed by sensor ID to enable LED
Enter 'lds' followed by sensor ID to disable LED
Enter 'dl' followed by sensor ID to disable the link
Enter 'el' followed by sensor ID to enable the link without module reset
Enter 'elr' followed by sensor ID to enable the link with module reset
Enter 'cm' to check the module availability
Enter 'sh<1 or 0>' followed by sensor ID to turn on or off heater
Enter 'bp' to set bypass mode for MAX96712 deserializer custom API
Enter 'q' to quit the application
-
Output
Sensor10_Out3 Frame rate (fps): 29.4991
Output
Sensor10_Out3 Frame rate (fps): 29.9991
Output
Sensor10_Out3 Frame rate (fps): 29.9991
q
Output
Sensor10_Out3 Frame rate (fps): 29.9991
Sensor10 Frame captured: 239 Frame drops: 0 Frame discontinuities: 0 Frames authenticated: 0 Frames failed to authenticate: 0 Frames authenticated as Out Of Order: 0
SUCCESS
- Run nvsipl_camera with 1 Valeo IMX623 connected to Deser E, Link 0, for comparison:
$ ./nvsipl_camera -c V1SIM623MPRU8200ND1_5Des_CPHY_x4 --link-enable-masks "0x0000 0x0000 0x0000 0x0000 0x0001" -0 -1 --showfps
Pipeline: 14 ISP Output: 2 is using RGBA PACKED FLOAT16 PL SENSOR_RGBA
MAX96724: Revision 1 detected
MAX96717F: Revision 6 detected!
Sensor IMX623 Rev 0xA RGGB detected!
nvsipl_camera: Opened NITO file for module "V1SIM623MPRU8200ND1", file name: "/usr/share/camera/V1SIM623MPRU8200ND1.nito"
Enter 'les' followed by sensor ID to enable LED
Enter 'lds' followed by sensor ID to disable LED
Enter 'dl' followed by sensor ID to disable the link
Enter 'el' followed by sensor ID to enable the link without module reset
Enter 'elr' followed by sensor ID to enable the link with module reset
Enter 'cm' to check the module availability
Enter 'bp' to set bypass mode for MAX96712 deserializer custom API
Enter 'q' to quit the application
-
Output
Sensor14_Out3 Frame rate (fps): 17.4994
Output
Sensor14_Out3 Frame rate (fps): 19.9993
Output
Sensor14_Out3 Frame rate (fps): 19.9993
q
Output
Sensor14_Out3 Frame rate (fps): 19.9994
Sensor14 Frame captured: 155 Frame drops: 0 Frame discontinuities: 0 Frames authenticated: 0 Frames failed to authenticate: 0 Frames authenticated as Out Of Order: 0
SUCCESS
When stopping the Fsync Generator 0 while the IMX728 is streaming, I see the fps drop to 0 and the camera stops streaming, which leads me to believe that Generator 0 is triggering the IMX728. Why does the IMX728 still run at 30fps if it is being triggered at 20Hz?