6
C H A P T E R 2
Cameras and Operating Systems
The first build of the CHDK enabled the camera (an A610) to deliver
RAW 10-bit sensor data in combination with JPEG images, allowing true
RAW processing for a consumer camera. Apart from the RAW format, this
first version supported live
histograms,
scripting, and three-
exposure
bracketing. Scripting was made possible through the inclusion of the
uBasic
interpreter, created earlier by Swedish programmer
Adam Dunkel
.
The program proved so useful that versions for other cameras soon
followed. This was first done for cameras with the
VxWorks
operating sys-
tem; cameras with the
DryOS
operating system should follow later. For
each camera (in fact, for each firmware version), it is necessary to read out
the firmware from the camera and analyze it in order to link the additional
functions to the original firmware (section A.4).
In 2007, another programmer,
GrAnd,
joined the CHDK community and
added numerous features such as the on-screen display ( OSD) of focal dis-
tance, zoom step and factor, hyperfocal distance, DOF calculator, shadow
and highlight clipping warnings, battery meter, and much more. An article
in
DP Review
about the new features brought public attention to the CHDK.
More developers joined the CHDK community. This initially resulted in
different branches of the CHDK, each with its own set of special functions.
Particularly notable are
MX3’s
build with motion detection,
Fingalo’s
build
with much-improved
uBasic
scripting functionality and USB support, and
Juciphox’s
build with support for
Lua
scripting. Today, the official CHDK—
the
MoreBest
build—integrates many of these additional functions.
2.3.2 How it works
Canon cameras perform several steps when switched on:
f
First, the camera’s firmware checks the memory card. If the card is
write-protected, and if it contains a file named
DISKBOOT.BIN
in its root
directory, then this file is loaded and executed. This allows almost any
program in the camera to be infiltrated.
f
If such a file is not found, the normal start-up process continues. This
includes the launch of four different native tasks that run in parallel and
manage the different units of the camera:
g
The
Logging task
takes care of the camera’s display unit. It is re-
sponsible for presenting information to the user.
g
The
Keyboard task
monitors the camera’s buttons for key presses.
g
The
Image-capturing task
is responsible for exposure and focus
control and for reading the data from the sensor.
g
The
File-system task
is responsible for writing images to the mem-
ory card and managing the card’s file system.
Содержание Camera
Страница 1: ......
Страница 2: ...The Canon Camera Hackers Manual ...
Страница 3: ......
Страница 4: ...Berthold Daum The Canon Camera Hackers Manual Teach Your Camera New Tricks ...
Страница 19: ...10 CH APTER 2 Cameras and Operating Systems ...
Страница 25: ...16 CH APTER 3 ...
Страница 85: ...76 CH APTER 4 Teach Your Camera New Tricks ...
Страница 213: ...204 CH APTER 6 ...
Страница 253: ...244 AP PENDIX ...