- Edited
Dear Community,
This is the follow up of this ticket : https://discuss.luxonis.com/d/2008-hw-sync-trigger-mode-for-oak-ffc-4p-with-2-x-oak-ffc-ar0234cs-or-more
It has been a while that we started developing our own stereo camera based on OAK-FFC-4P + 3xOAK-FFC-AR0234. And the most expecting feature has always been the hardware synchronization of the AR0234 stereo pair due to the nature of the sensor : It works either in standalone or slave/external trigger mode.
We first looked at the https://docs.luxonis.com/projects/hardware/en/latest/pages/guides/sync_frames/#sensor-fsync-support
Then we already tested the following example as suggested by @erik but it did not work, then we realized that there was someone having the same issue : luxonis/depthai-core776
We also follow the bugs and issues reported in different repositories of Depthai, and from the most relevant ticket luxonis/depthai-python883, it seems promising that there's been firmware update with the improvement in the operation/stability in fsync input mode for AR0234 :
Yes, the firmware was just updated earlier today (develop branch, and we'll release soon 2.23.0.0), it improves the operation/stability in fsync input mode for AR0234, and other sensors as well.
Previously this error happened if the fsync signal was not being provided within some time (approx 1 second) after enabling the sensor, it should be no longer an issue now:
[system] [critical] Fatal error. Please report to developers. Log: 'Fatal error on MSS CPU: trap: 00, address: 00000000' '0'
(technical detail: MSS CPU was stuck handling continuously triggered MIPI DPHY error interrupts coming from the sensor, and couldn't communicate with the main CSS CPU, but didn't actually crash)AR0234 sensors can be configured like:
camNodeA.initialControl.setFrameSyncMode(dai.CameraControl.FrameSyncMode.INPUT)
...
However, if only AR0234 sensors are present on the device, they don't have the hardware capability to generate a sync signal (while OV9782/OV9282 have this option). So either the signal has to be provided externally, or RVC2 GPIOs can be configured to output it. We don't have this option by default in FW yet, but can be done through DeviceConfig, or a Script node for more options. I'll follow up with an example.
We are now waiting for the example of using one of RVC2's GPIOs for triggering the AR0234 externally for a better hardware synchronization, especially when it comes to use the i_publish_synced_rect_pair in the configuration of the camera's ROS driver for visual SLAM.
Thanks in advance and best regards,
Khang