-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document the export_v4l2_param_xml tool #25
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,15 +2,16 @@ | |
|
||
As defined in the [MAVLink Camera Protocol](https://mavlink.io/en/protocol/camera.html), a [Camera Definition File](https://mavlink.io/en/protocol/camera_def.html) may be used to specify information about a camera's advanced settings and parameters. A camera will supply the URI for its definition file on request (if one has been defined), so that the file can be downloaded and parsed by the client. | ||
|
||
> **Tip** Camera definition files for a number of cameras are provided in [/samples/def](https://github.com/intel/camera-streaming-daemon/tree/master/samples/def). Definition files for attached Video4Linux (V4L2) devices can be create using [export_v4l2_param_xml](#export_v4l2_param_xml). | ||
|
||
The *Camera Definition Files* can be hosted anywhere that is accessible to clients (including *QGroundControl* and Dronecode SDK apps). Often the files are served from the computer running CSD. | ||
|
||
CSD is able to supply the URIs for attached cameras using a mapping given in the [CSD Configuration File > \[uri section\]](../guide/configuration_file.md#uri). | ||
|
||
This topic explains how to: | ||
* Serve the definition files on the CSD companion computer. | ||
* Map attached cameras to their definition file URIs in the CSD configuration file. | ||
|
||
> **Tip** Camera definition files for a number of cameras are provided in [/samples/def](https://github.com/intel/camera-streaming-daemon/tree/master/samples/def). | ||
* Create *Camera Definition Files* for attached Video4Linux (V4L2) devices using the *export_v4l2_param_xml* tool. | ||
|
||
|
||
## Hosting Camera Definition Files | ||
|
@@ -62,3 +63,30 @@ The fragments below show typical mappings for Aero and Ubuntu: | |
``` | ||
|
||
> **Note** The "Aero URI" host is the address of Aero on the network. The Ubuntu address can be "localhost" (internal) because when testing both CSD and clients (e.g. *QGroundControl*) are typically being run on the same computer and can see this address. | ||
|
||
|
||
## V4L2 Camera Definition File Generator {#export_v4l2_param_xml} | ||
|
||
The CSD project includes the *export_v4l2_param_xml* tool to automate creation of *Camera Definition Files* for attached Video4Linux (V4L2) devices. | ||
The tool queries the device for all available settings in order to populate the file. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Replace There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. OK |
||
|
||
The command syntax is: | ||
``` | ||
./export_v4l2_param_xml -d <device node> - f <output camera-def-file-name> | ||
``` | ||
where: | ||
* `device node`: The V3L2 device (query available devices on the command line using: `ls -l /dev/video*`). | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Typo |
||
* `output camera-def-file-name`: The generated file path/filename. | ||
|
||
|
||
The tool is provided as C++ source code in the CSD tree: [/tools/export_v4l2_param_xml](https://github.com/Dronecode/camera-streaming-daemon/tree/master/tools/export_v4l2_param_xml)). It is dependent on *tinyxml* which can be installed using: | ||
``` | ||
$ sudo apt install libtinyxml-dev -y | ||
``` | ||
|
||
To build and run the tool for a device `/dev/video0` (from the CSD root directory): | ||
``` | ||
cd tools/export_v4l2_param_xml | ||
make | ||
./export_v4l2_param -d /dev/video0 -f camera_def.xml | ||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please check if the sentence proposed below sound better
Create Camera Definition Files for Video4Linux (V4L2) camera devices attached to linux machine using the export_v4l2_param_xml tool
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The fact that it is Linux is implied by the Video4Linux API, and we say "attached". That said, I have improved this a bit: