HAL Sync Sample

The sample metavision_hal_sync.cpp shows how to use Metavision HAL API for synchronizing two event-based cameras.


You need two event-based cameras connected using a synchronization cable. One of the camera will be the master camera, while the other will be the slave camera. Specifically, the TRIGGER_OUT/EXT_SYNC_CLK_OUT signal of the master camera needs to be connected to the EXT_SYNC_CLK_IN signal of the slave camera.

See also

See the external triggers page for more information about Prophesee’s cameras Trigger In and Trigger Out.

You will need to start the slave camera first, followed by the master camera. You can connect both cameras to the same PC or to two different PCs. When using the same PC, make sure to specify the ID of the camera you want to use.

Expected Output

The sample visualizes CD events on the screen. Note that the slave camera will not visualize any events until the master camera is started.

Expected Output from Metavision HAL Sync Sample

How to start

First, compile the sample as described in this tutorial.

To start the sample, first run the slave camera:


./metavision_hal_sync --slave -s SERIAL_NUMBER


metavision_hal_sync.exe --slave -s SERIAL_NUMBER

Then start the master camera:


./metavision_hal_sync --master -s SERIAL_NUMBER


metavision_hal_sync.exe --master -s SERIAL_NUMBER

To check for additional options:


./metavision_hal_sync -h


metavision_hal_sync.exe -h


You cannot run this sample from a pre-recorded RAW file, as the synchronization only works with live camera. RAW files recorded with synchronized cameras will have synchronized timestamps, but can be played separately using any available RAW player.

Code Notes

The code of this sample is very similar to the one of the Metavision HAL Viewer. Essentially, the synchronization is done using the two functions Metavision::I_DeviceControl::set_mode_master() and Metavision::I_DeviceControl::set_mode_slave().


If you are interested in multi-cameras synchronization, contact us for more details. If you subscribed to a Professional license, you have access to our Knowledge Center with more information on that topic.