0,0 → 1,60 |
#ifndef __CAMCTRL_H |
#define __CAMCTRL_H |
|
#define CAM_SLAVE_ADDRESS 0x26 |
|
// FromCamCtrl.CamStatus |
#define CAM_STATE_RDY 0x80 // The camera seems to be ready |
#define CAM_STATE_REC_ACTIVE 0x40 // Recording Video |
#define CAM_STATE_PHOTO_MODE 0x20 // Camera is in Photo Mode |
#define CAM_STATE_OFF 0x10 // Camera off but connected |
#define CAM_STATE_CAM_DISCONN 0x08 // Camera is not connected |
#define CAM_STATE_I2C_OK 0x04 // Cam_Ctrl is connected by I2C (set by NC) |
#define CAM_STATE_ZOOM 0x02 // Zoom active |
#define CAM_STATE_PIC_CAPTURED 0x01 // Bit for captured one Photo recently |
|
|
// ToCamCtrl.CamCommand |
#define CAM_CMD_SWITCH_ON 0x80 |
#define CAM_CMD_SWITCH_OFF 0x40 |
#define CAM_CMD_REC_ON 0x20 |
#define CAM_CMD_REC_OFF 0x10 |
#define CAM_CMD_SHUTTER 0x08 |
|
#define CAM_CMD_RESET_CAM 0x02 |
|
//FromCamCtrl.Type |
#define TYPE_LANC 1 |
#define TYPE_IR 2 |
#define TYPE_MULTI 3 |
|
|
typedef struct |
{ |
u8 CamStatus; |
u16 PhotoCount; |
u8 free1; |
u8 PPM1Okay; |
u8 PPM1Data; |
u8 PPM2Okay; |
u8 PPM2Data; |
u8 Type; |
u8 Version; // 4 = V1.04 104 = V2.04 |
u8 Compatible; |
} __attribute__((packed)) FromCamCtrl_t; |
extern FromCamCtrl_t FromCamCtrl; |
|
typedef struct |
{ |
u8 CamCommand; |
u8 ZoomInput; |
u8 dummy; |
u8 dummy2; |
} __attribute__((packed)) ToCamCtrl_t; |
extern ToCamCtrl_t ToCamCtrl; |
void CamCtrl_GetData(u8); |
void InitCamCtrl(void); |
extern u16 CamCtrlTimeout; |
void CamCtrl_UpdateData(u8* pRxBuffer, u8 RxBufferSize); |
#endif // __CAMCTRL_H |
|