/ptp-gadget

Device-side implementation of the PTP (Picture Transfer Protocol) or PIMA-15740 standard for Linux

Primary LanguageCGNU General Public License v3.0GPL-3.0

				ptp-gadget

This is a device-side implementation of the PTP (Picture Transfer Protocol) /
PIMA-15740 standard for Linux. It allows a Linux system with a USB device
hardware to present itself to a USB host as a still camera with PTP support.
This is an open-source project, licensed under GPL v3, hence the author is
hoping, that it will be useful to others, and that others will contribute to it,
eventually making it a complete implementation of the standard.

The driver works completely in user-space and uses functionfs to communicate with
USB gadget hardware.

As of v0.2 only the minimal compulsory set of PTP requests, as specified in the
standard, is supported. Supported are downloading of images and generation of
thumbnails, using the "convert" utility from the ImageMagick package. Several
popular image formats are supported, but currently only TIFF and JPEG images are
processed. Thumbnails are created as compressed 160x120 pixel JFIF images and
are stored under /var/cache/ptp/thumb/, so this directory must exist and be
writable by the ptp-gadget user.

The program takes one compulsory parameter - the path to the directory, in which
images are stored. Optionally, "-v" switches can be used to increment verbosity
level of the program and "-l dir" can override the lock dir from /tmp to dir.

Known problems: not yet working with MS Windows Vista.

To contact developers of this software please write to the Linux USB mailing
list at <linux-usb@vger.kernel.org> and (optionally) CC the original author as
specified in the ptp.c file.

See file COPYING for a copy of the GPL v3 license.

The initial development has been accomplished by DENX (https://www.denx.de/)
and financed by TQS (now TQ-Group; https://www.tq-group.com/).