Difference between revisions of "FChronos"

From Mech
Jump to navigationJump to search
(Created page with "The fChronos is a custom device meant to be attached to the eSync device to address certain deficiencies of the latter. ==Purpose== The purpose of this device is to prov...")
 
Line 13: Line 13:
==Software==
==Software==


It runs a custom piece of software that reads system time, and bitbangs the trigger signal on GPIO 4, and the SMPTE timecode on GPIO 17.
It runs a custom piece of software that reads system time, and bitbangs the trigger signal on GPIO 4, and the SMPTE timecode on GPIO 17 at 25 Hz.

[[Image:GPIOs.png]]

Revision as of 11:50, 12 February 2014

The fChronos is a custom device meant to be attached to the eSync device to address certain deficiencies of the latter.

Purpose

The purpose of this device is to provide a way to get the true acquisition time of a frame of motion capture data. We need to do this in a high-speed system, because you simply cannot assume the time that a packet arrives is the same time that the exposure captured the data. Since the latency introduced by UDP and the OS is a random process with unacceptable delay and jitter (ms or more), we need a way to get the time of the actual acquisition of the data with (hopefully) microsecond precision.

It does this by synchronizing its system clock to microsecond precision with another computer on the same LAN using PTPv2 as a slave. Then, the device will generate timecodes which correspond to its own system clock and output the timecode along with a trigger pulse to the eSync. Since the eSync writes this timecode onto the NatNet packets, this allows direct translation of the NatNet timecode value to a system clock time when it arrives on the target computer.

Hardware

It is a (model B) Raspberry Pi running the Machinoid hard RTOS distribution.

Software

It runs a custom piece of software that reads system time, and bitbangs the trigger signal on GPIO 4, and the SMPTE timecode on GPIO 17 at 25 Hz.

GPIOs.png