2,6 → 2,7 |
#define __CAMCTRL_H |
|
#define CAM_SLAVE_ADDRESS 0x26 |
#define LASER_SLAVE_ADDRESS 0x24 |
|
// FromCamCtrl.CamStatus |
#define CAM_STATE_RDY 0x80 // The camera seems to be ready |
14,6 → 15,10 |
#define CAM_STATE_PIC_CAPTURED 0x01 // Bit for captured one Photo recently |
|
|
//FromLaserCtrl.LaserStatus |
#define LASER_DATA_OK 0x01 |
#define LASER_I2C_OK 0x80 |
|
// ToCamCtrl.CamCommand |
#define CAM_CMD_SWITCH_ON 0x80 |
#define CAM_CMD_SWITCH_OFF 0x40 |
52,9 → 57,36 |
u8 dummy2; |
} __attribute__((packed)) ToCamCtrl_t; |
extern ToCamCtrl_t ToCamCtrl; |
|
typedef struct |
{ |
u8 LaserStatus; |
u16 Distance; |
u8 free1; |
u8 PPM1Okay; |
u8 PPM1Data; |
u8 PPM2Okay; |
u8 PPM2Data; |
u8 Type; |
u8 Version; // 4 = V1.04 104 = V2.04 |
u8 Compatible; |
} __attribute__((packed)) FromLaserCtrl_t; |
extern FromLaserCtrl_t FromLaserCtrl; |
|
typedef struct |
{ |
u8 CamCommand; |
u8 ZoomInput; |
u8 dummy; |
u8 dummy2; |
} __attribute__((packed)) ToLaserCtrl_t; |
extern ToLaserCtrl_t ToLaserCtrl; |
|
void CamCtrl_GetData(u8); |
void InitCamCtrl(void); |
extern u16 CamCtrlTimeout; |
void CamCtrl_UpdateData(u8* pRxBuffer, u8 RxBufferSize); |
extern u16 LaserCtrlTimeout; |
extern void CamCtrl_UpdateData(u8* pRxBuffer, u8 RxBufferSize); |
extern void LaserCtrl_UpdateData(u8* pRxBuffer, u8 RxBufferSize); |
#endif // __CAMCTRL_H |
|