The audience of this documentationa and library is developers that wish to write applications for the Kodak DC range of cameras on the Unix Operating System.
This library is compatible with and provides the equivalent functionality of the Kodak Digital Camera DC210 Software Developer's Kit.
Command Logical Port Physical Port
Line Linux Solaris FreeBSD
0 Auto (Port 1) /dev/cua0 /dev/cua/a /dev/cuaa0
1 Port 1 /dev/cua0 /dev/cua/a /dev/cuaa0
2 Port 2 /dev/cua1 /dev/cua/b /dev/cuaa1
3 Port 3 /dev/cua2 /dev/cua/c /dev/cuaa2
4 Port 4 /dev/cua3 /dev/cua/d /dev/cuaa3
5 Port 5 /dev/ttyS0 /dev/term/a /dev/ttyd0
6 Port 6 /dev/ttyS1 /dev/term/b /dev/ttyd1
7 Port 7 /dev/ttyS2 /dev/term/c /dev/ttyd2
8 Port 8 /dev/ttyS3 /dev/term/d /dev/ttyd3
Command Logical Port Physical Port
Line Linux Solaris
0 Auto (Port 1) /dev/cua0 /dev/cua/a
1 Port 1 /dev/cua0 /dev/cua/a
2 Port 2 /dev/cua1 /dev/cua/b
3 Port 3 /dev/cua2 /dev/cua/c
4 Port 4 /dev/cua3 /dev/cua/d
5 Port 5 /dev/ttyS0 /dev/term/a
6 Port 6 /dev/ttyS1 /dev/term/b
7 Port 7 /dev/ttyS2 /dev/term/c
8 Port 8 /dev/ttyS3 /dev/term/d
The -h command line flag will cause each program to dump informative text on ports, options and parameter values.
The -? command line flag will cause each program to simply dump it's possible arguments.
The DC210 SDK for Unix stand alone tools statically define the Auto port as Port 1 resulting in the following configuration.
Command Logical Port Physical Port
Line Linux Solaris
0 Auto (Port 1) /dev/cua0 /dev/cua/a
1 Port 1 /dev/cua0 /dev/cua/a
2 Port 2 /dev/cua1 /dev/cua/b
3 Port 3 /dev/cua2 /dev/cua/c
4 Port 4 /dev/cua3 /dev/cua/d
5 Port 5 /dev/cua0 /dev/term/a
6 Port 6 /dev/cua1 /dev/term/b
7 Port 7 /dev/cua2 /dev/term/c
8 Port 8 /dev/cua3 /dev/term/d
Solaris
/dev/cua/[a-d] ports 1..4
/dev/term/[a-d] ports 5..8
Linux
/dev/cua[0-3] ports 1..4
/dev/cua[0-3] ports 5..8
This does not occur when the camera is run on its mains adapter.
A side effect of this functionality is a longer communications establishment period while the software probes and tests the camera for its current baud rate and state (awake, asleep.)
Operating Systems and Cameras are directly supported with this release (or reported working.)
| Operating Systems |
|
|---|---|
| Cameras |
|
Operating Systems and Cameras that may work with this release but have not been tested.
| Operating Systems |
|
|---|---|
| Cameras |
|
Operating Systems and Cameras that WILL NOT WORK.
| Operating Systems |
|
|---|---|
| Cameras |
|
Permission is NOT granted for re-distribution or copying of this software and documentation in any form.
Note: there may be a charge for future versions.
FreeBSD Testing & Feedback
DC200 Testing & Feedback
DC210 Testing & Feedback
After the compressed file has been downloaded, it must be unpacked
with the gunzip utility. Once unpacked the library, header files
and example code need to be extracted with the tar(1) utility (see below.)
$ cd /tmp
$ ls
sdk-1.2.2-solaris-5.6-sparc.tar.gz
$ gzcat sdk-1.2.2-solaris-5.6-sparc.tar.gz | tar xvf -
x sdk-1.2.2, 0 bytes, 0 tape blocks
x sdk-1.2.2/include, 0 bytes, 0 tape blocks
x sdk-1.2.2/include/wdc.h, 53514 bytes, 105 tape blocks
x sdk-1.2.2/include/log.h, 12063 bytes, 24 tape blocks
x sdk-1.2.2/lib, 0 bytes, 0 tape blocks
x sdk-1.2.2/lib/libsdk.a, 61932 bytes, 121 tape blocks
x sdk-1.2.2/example, 0 bytes, 0 tape blocks
x sdk-1.2.2/example/Makefile, 345 bytes, 1 tape blocks
x sdk-1.2.2/example/example.c, 10236 bytes, 20 tape blocks
x sdk-1.2.2/htdocs, 0 bytes, 0 tape blocks
x sdk-1.2.2/htdocs/about.html, 1846 bytes, 4 tape blocks
x sdk-1.2.2/htdocs/documentation.html, 17089 bytes, 34 tape blocks
x sdk-1.2.2/htdocs/download.html, 2479 bytes, 5 tape blocks
x sdk-1.2.2/htdocs/images, 0 bytes, 0 tape blocks
x sdk-1.2.2/htdocs/images/aus.gif, 627 bytes, 2 tape blocks
x sdk-1.2.2/htdocs/images/further.gif, 3264 bytes, 7 tape blocks
x sdk-1.2.2/htdocs/images/header.gif, 8212 bytes, 17 tape blocks
x sdk-1.2.2/htdocs/images/here.gif, 1146 bytes, 3 tape blocks
x sdk-1.2.2/htdocs/images/news.gif, 1551 bytes, 4 tape blocks
x sdk-1.2.2/htdocs/index.html, 4384 bytes, 9 tape blocks
x sdk-1.2.2/bin, 0 bytes, 0 tape blocks
x sdk-1.2.2/bin/dump, 123452 bytes, 242 tape blocks
x sdk-1.2.2/bin/delete, 66732 bytes, 131 tape blocks
x sdk-1.2.2/bin/reset, 66272 bytes, 130 tape blocks
x sdk-1.2.2/bin/configure, 72868 bytes, 143 tape blocks
x sdk-1.2.2/bin/snap, 71268 bytes, 140 tape blocks
x sdk-1.2.2/bin/status, 69176 bytes, 136 tape blocks
x sdk-1.2.2/bin/zoom.sh, 956 bytes, 2 tape blocks
$
You are now ready to test. The following example assumes that the
DC210 camera has been attached to the first serial port (/dev/cua/a
in Solaris speak) and will retrieve the camera's status at 38400 baud.
$ cd example
$ make
gcc -I../include -L../lib -o dcstat example.c -lsdk
$ ./dcstat -?
Usage: dcstat [ -l log level (0-2) ]
[ -p port number (1-2) ]
[ -s baud rate (1-5) ]
[ -x extended help ]
$ ./dcstat -p1 -s3
DC210 generic status:
camera time Tue May 19 13:17:00 1998
firmware version: 1.51
total pictures taken: 6
total pictures remaining: 76
memory pictures taken: -1
memory pictures remaining: -1
card pictures taken: 6
card pictures remaining: 76
thumbnail size: 96x72
picture size: 1152x864
DC210 specific status:
battery: ok
ac adapter: on
memory card: inserted, formatted
flash: charged
total pictures taken: 6
communication mode: serial
pictures left: 33/48/76
$
These look like great camera's and should work just fine with this toolkit. Unfortunately I can't get my hands on these camera's to verify this so they remain unsupported.
Kodak have specifically hidden these features from the software (as far as I can determine) so that compatability is maintained with previous releases.
This means that access to this functionality by software is impossible.
All the functions that are defined in the Kodak DC210 SDK definition.
The following list shows the functions that have been implemented.
Some minor functionality may be missing within functions (such as image rotation, etc.) but all major functionality is present.
This is an additional function which initialises a tracing and logging library. It has a format similar to that of printf(3s) but allows flexibility of the amount and destination of output.
This function must be called first as the DC210 SDK for Unix uses this library extensively.
The logging functions can be used in conjunction with the sdk. See the example program for more details and the log.h header file for the exact syntax.
Simply get hold of the Kodak Digital Camera DC210 Software Developer's Kit, recompile and relink !
Is it that easy ? Not quite, but that's the aim of this sdk, a compatible sdk for unix !
The following stand alone programs are included.
At present there are no functional differences in the SDK between the different operating systems. However, there are minor operational differences due to serial port specifications.
Copyright ©1998 Tortuga Technologies Pty Ltd. All rights reserved.
last updated 10-Aug-2000