Input/Output Pins (I/O)
Certain pins on the camera are user configurable for different functions, allowing the user to set up the camera to best fit their needs and connect external devices and systems to the camera. These functions are sorted into two groups: input and output. Input pins allow external signals to be sent to the camera. Output pins allow the camera to send signals to be used externally. Not all functions are necessarily available on all of the camera’s available I/O pins.
Input Functions
- Pulse Per Second (PPS)
- External Trigger
Output Functions
Pulse Per Second (PPS)
A Pulse Per Second (PPS) signal is a low latency, high accuracy signal that indicates the exact time when each second begins. The signal helps to increase the certainty of timing synchronization in a networked system, but does not provide an absolute time, since there is no way to tell which second any given pulse is marking.
When sending time messages in packets, such as from a GPS to the camera, there is an amount of time from when a message is created, to when it is sent, and finally when it is received and processed. This unknown latency can lead to the use of inaccurate data if times are not synchronized. For example, if a drone is flying at 20m/s and there is a 0.2 second latency between when a GPS calculates a position and when that position is received by the camera, that equates to 4 meters of movement, which means that the location the camera believes it is at will be incorrect by 4 meters.
Combining a PPS signal with GPS timestamps allows the system to synchronize times across devices with millisecond or better accuracy, since the PPS can provide a very accurate signal for the beginning of each second, and the GPS can provide the absolute time. The DLS2 outputs a PPS signal that the camera can use. The camera can also receive PPS from external PPS sources by configuring the configurable IO pins properly. Additionally, the camera can output a PPS signal it receives, so that other devices can synchronize to the same PPS. The option to output PPS is most useful if you wish to use the DLS2’s PPS as the input to the camera, and send that same signal to other devices.
Top of Frame (ToF) or Center of Frame (CoF)
The Top of Frame (ToF) signal indicates the exact moment that a picture exposure begins. This signal can be used as a feedback system to user systems as verification that commanded captures have been executed. This also allows external GPS loggers, such as the Emlid series, to be used with the camera system to record data when a capture has been taken. The ToF signal can be used as a trigger to these external devices to log information that can be injected into image metadata at a later time, or post processed in other ways as desired.
Center of Frame (CoF) is what is used in the RedEdge-P and Altum-PT. For more information, please refer to their respective integration guides.
MAVLink
MAVLink allows control over the camera from any device with a 3.3V or 5V TTL serial port, including autopilots or computers. MAVLink is a serial protocol that is open source, of which a subset of messages are supported by the camera, as documented in the serial API. Common uses of MAVLink for the camera include commanding captures, configuring camera settings, and providing GPS data to the camera.
HTTP
This feature allows a user to remotely send commands and request information from the camera. It can be used to control camera actions such as command and retrieve captures, reformat the storage device, and provide GPS data. The feature can also request information such as network status. A full list of HTTP commands and how to use them can be found in the HTTP API documentation.
Thermal Non-Uniform Calibration (NUC)
Performing Non-Uniform Calibrations on (NUCing) thermal images helps reduce image noise, resulting in better thermal image quality. This feature is only available on cameras with thermal imagers, such as the Altum. The auto-NUCing feature is enabled on boot, and ensures that the calibration is up to date with NUCs occuring every five minutes or when the temperature changes by 2 Kelvin. A manual NUCing feature is also available through the HTTP API and through the serial API, which allows the user or autopilot to request a NUC, instead of depending on the auto-NUCing feature. Manual NUCing can ensure that NUCs don’t occur at inopportune times during data collection, but may lead to poor data quality if NUCs aren’t performed as often as needed.