4 /* I2C address for the Guinness Camera */
5 #define INDYCAM_ADDR 0x56
8 #define CAMERA_VERSION_INDY 0x10 /* v1.0 */
9 #define CAMERA_VERSION_MOOSE 0x12 /* v1.2 */
10 #define INDYCAM_VERSION_MAJOR(x) (((x) & 0xf0) >> 4)
11 #define INDYCAM_VERSION_MINOR(x) ((x) & 0x0f)
13 /* Register bus addresses */
14 #define INDYCAM_CONTROL 0x00
15 #define INDYCAM_SHUTTER 0x01
16 #define INDYCAM_GAIN 0x02
17 #define INDYCAM_BRIGHTNESS 0x03
18 #define INDYCAM_RED_BALANCE 0x04
19 #define INDYCAM_BLUE_BALANCE 0x05
20 #define INDYCAM_RED_SATURATION 0x06
21 #define INDYCAM_BLUE_SATURATION 0x07
22 #define INDYCAM_GAMMA 0x08
23 #define INDYCAM_VERSION 0x0e
24 #define INDYCAM_RESET 0x0f
25 #define INDYCAM_LED 0x46
26 #define INDYCAM_ORIENTATION 0x47
27 #define INDYCAM_BUTTON 0x48
29 /* Field definitions of registers */
30 #define INDYCAM_CONTROL_AGCENA (1<<0)
31 #define INDYCAM_CONTROL_AWBCTL (1<<1)
32 /* 2-3 are reserved */
33 #define INDYCAM_CONTROL_EVNFLD (1<<4)
35 #define INDYCAM_SHUTTER_10000 0x02 /* 1/10000 second */
36 #define INDYCAM_SHUTTER_4000 0x04 /* 1/4000 second */
37 #define INDYCAM_SHUTTER_2000 0x08 /* 1/2000 second */
38 #define INDYCAM_SHUTTER_1000 0x10 /* 1/1000 second */
39 #define INDYCAM_SHUTTER_500 0x20 /* 1/500 second */
40 #define INDYCAM_SHUTTER_250 0x3f /* 1/250 second */
41 #define INDYCAM_SHUTTER_125 0x7e /* 1/125 second */
42 #define INDYCAM_SHUTTER_100 0x9e /* 1/100 second */
43 #define INDYCAM_SHUTTER_60 0x00 /* 1/60 second */
45 #define INDYCAM_BUTTON_RELEASED (1<<4)
46 #define INDYCAM_LED_ACTIVE (1<<5)
47 #define INDYCAM_BOTTOM_TO_TOP (1<<6)