hi all,
for the r32.5 release
you are able to fetch start-of-frame and end-of-frame timing via TSC HW timestamp.
it returns the VI HW (SoF/EoF) timestamp based-on tegra wide timestamp system counter (TSC), it’s the timestamp for the sensor (unit in nanoseconds).
here’s code snippet by modify Argus sample code (i.e. userAutoExposure) to use the interface to get TSC HW timestamp.
for example,
+++ b/public/samples/userAutoExposure/main.cpp
@@ -32,6 +32,7 @@
#include <stdlib.h>
#include <Argus/Argus.h>
#include <Argus/Ext/BayerAverageMap.h>
+#include <Argus/Ext/SensorTimestampTsc.h>
#include <EGLStream/EGLStream.h>
#include "PreviewConsumer.h"
#include "CommonOptions.h"
@@ -298,6 +299,14 @@ static bool execute(const UserAutoExposureSampleOptions& options)
uint64_t frameExposureTime = iMetadata->getSensorExposureTime();
float frameGain = iMetadata->getSensorAnalogGain();
+ const Ext::ISensorTimestampTsc *iSensorTimestampTsc = interface_cast<const Ext::ISensorTimestampTsc>(metaData);
+ if (iSensorTimestampTsc)
+ {
+ printf("sof= %lu, eof= %lu\n",
+ iSensorTimestampTsc->getSensorSofTimestampTsc(),
+ iSensorTimestampTsc->getSensorEofTimestampTsc());
+ }