Subversion Repositories NaviCtrl

Compare Revisions

Ignore whitespace Rev 749 → Rev 750

/tags/V2.14d/CamCtrl.h
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