Contents
|
|
About DigitaDigita is an "operating environment" designed by creerunblog.com specifically for use in digital imaging products, and currently found in digital cameras such as the Kodak DC-220, DC-260, DC-265, DC-290, and Minolta EX-1500. Digita provides cameras with a graphical user interface, enables developers to write scripts for the camera, and manages the host interface by which images are downloaded to PCs from the camera. Neither Flashpoint nor Kodak provide Linux software for interfacing with the Kodak cameras. However, Kodak has released the Host Interface Specification (HIS), written by Flashpoint, which describes how to communicate with Digita cameras. Note: Digita is a trademark of Flashpoint Technology, Inc. This page is not sponsored, supported, or sanctioned by FlashPoint Technology, Inc. or the Eastman Kodak Company. |
|
About OpenDiSOpenDiS, the Open Digita Services project, is an effort to write Open Source tools for accessing Digita cameras from Linux and other unix operating systems. Initial targets for support are the Kodak DC-220 and DC-260 digital cameras (these are the cameras that the developers happen to own). OpenDiS has been tested with and is known to work with the following cameras:
OpenDiS will not support cameras that don't use Digita; this includes the Kodak DC-200, DC-210, DC-240, DC-280, and earlier cameras. |
|
About the SoftwareOpenDiS currently consists of two products: a communications library and a download tool. Although these two products currently reside in the same source tree and are distributed together, it is an important goal of the project to maintain a clear line between generic library functions and application-specific features. In other words, we want the library to be suitable for embedding in any application, and so we are taking care not to taint the core library with application-specific code. This distinction will become clearer as the project matures, and the products grow in their own directions. The OpenDiS communications library is a body of C code that implements the Digita HIS protocol and enables applications to easily interface to Digita cameras. The library API is broken into three levels:
The utility tool, currently called ks, is a small command-line program that uses the comm library to control the camera. Although other, better, tools exist (see the "Related Projects" section) for managing digital cameras, we will probably continue to develop ks to provide support for Digita-specific features not supported by more general-purpose products. |
|
Current StateThe current version of OpenDiS is 0.0.2, released August 18, 1999. Most of the commands specified in the HIS (Host Interface Specification) have been added to the core library. Ks has gained extra functionality, and more functions will be added. For now deleting pictures, downloading, taking pictures, status/time queries, and turning the camera off are now implemented in ks. Although functionality is easy to add, we developers have added the functionality as we need to have basis. Please contact the developers if you would like to get a specific task supported. The comm library only supports serial connections; this means downloading is slow. The library does not yet support USB and IrDA connections. The Level-0 API has not been defined, but all the constituent code has been written, and appears to be fairly stable for pre-alpha code. The Level-1 API is well-defined, but only a few of the HIS commands have been coded. The Level-2 API is not well-defined, but work has begun on the setup and teardown code. These functions are used by ks to set up the camera connection. Ks is still under development. It is capable of downloading/taking/deleting pictures from a camera. |
|
Future DirectionsIt should go without saying that we intend to flesh out the core comm library. This means fully defining the Level-0 and Level-2 APIs, and completing coding of the Level-1 and Level-2 APIs. We will add support for USB and IrDA connections as soon as linux kernel support for these devices matures. We intend to develop ks into a tool that can use all the capabilities of Digita cameras:
EXIF LibraryImage files downloaded from Kodak Digita cameras contain embedded files in "EXIF" format. These embedded files contain information about the image, such as the date and time the photo was taken, the lens aperature and flash setting when the photo was taken, etc. When the image file is still in the camera, this information is available through the host interface. But once the image has been downloaded, it is accessible only through the EXIF file. We want our tools to be able to read and use the information embedded in EXIF format, so the OpenDiS project may eventually add an EXIF-access library as a product seperate from, but used by, the Digita access tools. Plug-insA number of external products are candidates for OpenDiS support in the form of plug-ins. These plug-ins would adapt the OpenDiS comm library Level-1 or Level-2 API to the API required by the host product. The external products we're currently thinking of supporting are:
|
|
DownloadsOpenDiS 0.0.2 is available from /opendis-0.0.2.tar.gz. RPMs coming soon! |
|
Building OpenDiSBuilding OpenDiS is simple: unpack the distribution, change to the source directory, and run make: tar xzf opendis-0.0.2.tar.gz cd opendis-0.0.2/src make During development, OpenDiS is built using the glibc-2 libraries, but it should also build and work with libc5. It now works on FreeBSD and Solaris 2.x too. If not, let us know. |
|
Using ksThe utility program is invoked as follows: ks [ options ] commandwhere options specify the device connections of the camera, as explained below. Command is one of the commands listed below:
To find your camera, ks needs three configuration parameters: the device the camera is plugged into, the type of device, and, for serial ports, the rate at which to talk to the camera.
export ODSDEVICE=/dev/ttyS2 export ODSRATE=115200Because I use a normal serial device, I don't have to specify the device type. An equivalent configuration, specified from the command-line is: ks --device=/dev/ttyS2 --rate=115200 Configuring via environment variables is recommended because the settings are automatically inherited by ks from the shell, so the command-line settings can be omitted. However, if both environment and command-line options are used, the command-line options take precedence. Please use "ks -h" for extra help, and "ks -l" for supported commands. |
|
Related ProjectsThe following project descriptions were taken from the appindex:
|
|
LicenseOpenDiS source code is distributed under the terms of the . |
|
BugsPlease report any bugs to project members (see addresses below) |
|
Project Members |
Web hosting for OpenDiS provided by Netpedia. See the Open Source Web Presence Project at http://www.netpedia.net. |