Rev 733 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 733 | Rev 790 | ||
---|---|---|---|
1 | #ifndef __CAMCTRL_H |
1 | #ifndef __CAMCTRL_H |
2 | #define __CAMCTRL_H |
2 | #define __CAMCTRL_H |
3 | 3 | ||
4 | #define CAM_SLAVE_ADDRESS 0x26 |
4 | #define CAM_SLAVE_ADDRESS 0x26 |
- | 5 | #define LASER_SLAVE_ADDRESS 0x24 |
|
5 | 6 | ||
6 | // FromCamCtrl.CamStatus |
7 | // FromCamCtrl.CamStatus |
7 | #define CAM_STATE_RDY 0x80 // The camera seems to be ready |
8 | #define CAM_STATE_RDY 0x80 // The camera seems to be ready |
8 | #define CAM_STATE_REC_ACTIVE 0x40 // Recording Video |
9 | #define CAM_STATE_REC_ACTIVE 0x40 // Recording Video |
9 | #define CAM_STATE_PHOTO_MODE 0x20 // Camera is in Photo Mode |
10 | #define CAM_STATE_PHOTO_MODE 0x20 // Camera is in Photo Mode |
10 | #define CAM_STATE_OFF 0x10 // Camera off but connected |
11 | #define CAM_STATE_OFF 0x10 // Camera off but connected |
11 | #define CAM_STATE_CAM_DISCONN 0x08 // Camera is not connected |
12 | #define CAM_STATE_CAM_DISCONN 0x08 // Camera is not connected |
12 | #define CAM_STATE_I2C_OK 0x04 // Cam_Ctrl is connected by I2C (set by NC) |
13 | #define CAM_STATE_I2C_OK 0x04 // Cam_Ctrl is connected by I2C (set by NC) |
13 | #define CAM_STATE_ZOOM 0x02 // Zoom active |
14 | #define CAM_STATE_ZOOM 0x02 // Zoom active |
14 | #define CAM_STATE_PIC_CAPTURED 0x01 // Bit for captured one Photo recently |
15 | #define CAM_STATE_PIC_CAPTURED 0x01 // Bit for captured one Photo recently |
15 | 16 | ||
- | 17 | ||
- | 18 | //FromLaserCtrl.LaserStatus |
|
- | 19 | #define LASER_DATA_OK 0x01 |
|
- | 20 | #define LASER_I2C_OK 0x80 |
|
16 | 21 | ||
17 | // ToCamCtrl.CamCommand |
22 | // ToCamCtrl.CamCommand |
18 | #define CAM_CMD_SWITCH_ON 0x80 |
23 | #define CAM_CMD_SWITCH_ON 0x80 |
19 | #define CAM_CMD_SWITCH_OFF 0x40 |
24 | #define CAM_CMD_SWITCH_OFF 0x40 |
20 | #define CAM_CMD_REC_ON 0x20 |
25 | #define CAM_CMD_REC_ON 0x20 |
21 | #define CAM_CMD_REC_OFF 0x10 |
26 | #define CAM_CMD_REC_OFF 0x10 |
22 | #define CAM_CMD_SHUTTER 0x08 |
27 | #define CAM_CMD_SHUTTER 0x08 |
23 | 28 | ||
24 | #define CAM_CMD_RESET_CAM 0x02 |
29 | #define CAM_CMD_RESET_CAM 0x02 |
25 | 30 | ||
26 | //FromCamCtrl.Type |
31 | //FromCamCtrl.Type |
27 | #define TYPE_LANC 1 |
32 | #define TYPE_LANC 1 |
28 | #define TYPE_IR 2 |
33 | #define TYPE_IR 2 |
29 | #define TYPE_MULTI 3 |
34 | #define TYPE_MULTI 3 |
30 | 35 | ||
31 | 36 | ||
32 | typedef struct |
37 | typedef struct |
33 | { |
38 | { |
34 | u8 CamStatus; |
39 | u8 CamStatus; |
35 | u16 PhotoCount; |
40 | u16 PhotoCount; |
36 | u8 free1; |
41 | u8 free1; |
37 | u8 PPM1Okay; |
42 | u8 PPM1Okay; |
38 | u8 PPM1Data; |
43 | u8 PPM1Data; |
39 | u8 PPM2Okay; |
44 | u8 PPM2Okay; |
40 | u8 PPM2Data; |
45 | u8 PPM2Data; |
41 | u8 Type; |
46 | u8 Type; |
42 | u8 Version; // 4 = V1.04 104 = V2.04 |
47 | u8 Version; // 4 = V1.04 104 = V2.04 |
43 | u8 Compatible; |
48 | u8 Compatible; |
44 | } __attribute__((packed)) FromCamCtrl_t; |
49 | } __attribute__((packed)) FromCamCtrl_t; |
45 | extern FromCamCtrl_t FromCamCtrl; |
50 | extern FromCamCtrl_t FromCamCtrl; |
46 | 51 | ||
47 | typedef struct |
52 | typedef struct |
48 | { |
53 | { |
49 | u8 CamCommand; |
54 | u8 CamCommand; |
50 | u8 ZoomInput; |
55 | u8 ZoomInput; |
51 | u8 dummy; |
56 | u8 dummy; |
52 | u8 dummy2; |
57 | u8 dummy2; |
53 | } __attribute__((packed)) ToCamCtrl_t; |
58 | } __attribute__((packed)) ToCamCtrl_t; |
54 | extern ToCamCtrl_t ToCamCtrl; |
59 | extern ToCamCtrl_t ToCamCtrl; |
- | 60 | ||
- | 61 | typedef struct |
|
- | 62 | { |
|
- | 63 | u8 LaserStatus; |
|
- | 64 | u16 Distance; |
|
- | 65 | u8 free1; |
|
- | 66 | u8 PPM1Okay; |
|
- | 67 | u8 PPM1Data; |
|
- | 68 | u8 PPM2Okay; |
|
- | 69 | u8 PPM2Data; |
|
- | 70 | u8 Type; |
|
- | 71 | u8 Version; // 4 = V1.04 104 = V2.04 |
|
- | 72 | u8 Compatible; |
|
- | 73 | } __attribute__((packed)) FromLaserCtrl_t; |
|
- | 74 | extern FromLaserCtrl_t FromLaserCtrl; |
|
- | 75 | ||
- | 76 | typedef struct |
|
- | 77 | { |
|
- | 78 | u8 CamCommand; |
|
- | 79 | u8 ZoomInput; |
|
- | 80 | u8 dummy; |
|
- | 81 | u8 dummy2; |
|
- | 82 | } __attribute__((packed)) ToLaserCtrl_t; |
|
- | 83 | extern ToLaserCtrl_t ToLaserCtrl; |
|
- | 84 | ||
55 | void CamCtrl_GetData(u8); |
85 | void CamCtrl_GetData(u8); |
56 | void InitCamCtrl(void); |
86 | void InitCamCtrl(void); |
57 | extern u16 CamCtrlTimeout; |
87 | extern u16 CamCtrlTimeout; |
- | 88 | extern u16 LaserCtrlTimeout; |
|
58 | void CamCtrl_UpdateData(u8* pRxBuffer, u8 RxBufferSize); |
89 | extern void CamCtrl_UpdateData(u8* pRxBuffer, u8 RxBufferSize); |
- | 90 | extern void LaserCtrl_UpdateData(u8* pRxBuffer, u8 RxBufferSize); |
|
59 | #endif // __CAMCTRL_H |
91 | #endif // __CAMCTRL_H |
60 | 92 | ||
61 | 93 |