277 lines
7.0 KiB
C
Executable File
277 lines
7.0 KiB
C
Executable File
#ifndef _ISP_MTR_H_
|
|
#define _ISP_MTR_H_
|
|
|
|
//=============================================================================
|
|
// constant define
|
|
//=============================================================================
|
|
#define MOVE_DIR_INIT 0
|
|
#define MOVE_DIR_FWD 1
|
|
#define MOVE_DIR_BWD (-1)
|
|
|
|
#define MOTOR_STATUS_FREE 0
|
|
#define MOTOR_STATUS_BUSY 1
|
|
|
|
#define ZOOM_SECTION_WIDE 0
|
|
#define ZOOM_SECTION_TELE 10
|
|
#define ZOOM_SECTION_NUM (ZOOM_SECTION_TELE + 1)
|
|
|
|
#define FOCUS_DISTANCE_TABLE_NUM 13
|
|
|
|
//=============================================================================
|
|
// struct & definition
|
|
//=============================================================================
|
|
typedef enum _MOTOR_ID {
|
|
MTR_ID_0,
|
|
///MTR_ID_1,
|
|
MTR_ID_MAX,
|
|
ENUM_DUMMY4WORD(MOTOR_ID)
|
|
} MOTOR_ID;
|
|
|
|
typedef enum _MTR_SPEED {
|
|
MTR_SPEED_OFF = 0,
|
|
MTR_SPEED_FULL = 100,
|
|
MTR_SPEED_MAX = 100,
|
|
ENUM_DUMMY4WORD(MTR_SPEED)
|
|
} MTR_SPEED;
|
|
|
|
typedef enum _MTR_GET_FOCUS_CMD {
|
|
MTR_GET_FOCUS_SPEED = 1,
|
|
MTR_GET_FOCUS_FOCAL_LENGTH,
|
|
MTR_GET_FOCUS_RANGE,
|
|
MTR_GET_FOCUS_POSITION,
|
|
MTR_GET_FOCUS_BUSY_STATUS,
|
|
MTR_GET_MOTION_QUEUE_CMD_STATUS,
|
|
ENUM_DUMMY4WORD(MTR_GET_FOCUS_CMD)
|
|
} MTR_GET_FOCUS_CMD;
|
|
|
|
typedef enum _MTR_SET_FOCUS_CMD {
|
|
MTR_SET_FOCUS_INIT = 1,
|
|
MTR_SET_FOCUS_SPEED,
|
|
MTR_SET_FOCUS_ASSIGN_POSITION,
|
|
MTR_SET_FOCUS_FOCAL_LENGTH,
|
|
MTR_SET_FOCUS_POSITION,
|
|
MTR_SET_FOCUS_POSITION_IN_QUEUE,
|
|
MTR_SET_FOCUS_PRESS,
|
|
MTR_SET_FOCUS_RELEASE,
|
|
ENUM_DUMMY4WORD(MTR_SET_FOCUS_CMD)
|
|
} MTR_SET_FOCUS_CMD;
|
|
|
|
typedef enum _MTR_GET_ZOOM_CMD {
|
|
MTR_GET_ZOOM_SPEED = 1,
|
|
MTR_GET_ZOOM_SECTION_POS,
|
|
MTR_GET_ZOOM_MAX_SECTION_POS,
|
|
MTR_GET_ZOOM_POSITION,
|
|
MTR_GET_ZOOM_BUSY_STATUS,
|
|
ENUM_DUMMY4WORD(MTR_GET_ZOOM_CMD)
|
|
} MTR_GET_ZOOM_CMD;
|
|
|
|
typedef enum _MTR_SET_ZOOM_CMD {
|
|
MTR_SET_ZOOM_INIT = 1,
|
|
MTR_SET_ZOOM_SPEED,
|
|
MTR_SET_ZOOM_ASSIGN_POSITION,
|
|
MTR_SET_ZOOM_SECTION_POS,
|
|
MTR_SET_ZOOM_POSITION,
|
|
MTR_SET_ZOOM_PRESS,
|
|
MTR_SET_ZOOM_RELEASE,
|
|
MTR_SET_ZOOM_POSITION_CALI,
|
|
ENUM_DUMMY4WORD(MTR_SET_ZOOM_CMD)
|
|
} MTR_SET_ZOOM_CMD;
|
|
|
|
typedef enum _MTR_GET_IRCUT_CMD {
|
|
MTR_GET_IRCUT_POSITION = 1,
|
|
ENUM_DUMMY4WORD(MTR_GET_IRCUT_CMD)
|
|
} MTR_GET_IRCUT_CMD;
|
|
|
|
typedef enum _MTR_SET_IRCUT_CMD {
|
|
MTR_SET_IRCUT_INIT = 1,
|
|
MTR_SET_IRCUT_POSITION,
|
|
ENUM_DUMMY4WORD(MTR_SET_IRCUT_CMD)
|
|
} MTR_SET_IRCUT_CMD;
|
|
|
|
typedef enum _MTR_GET_APERTURE_CMD {
|
|
MTR_GET_APERTURE_INFO = 1,
|
|
MTR_GET_APERTURE_FNO,
|
|
MTR_GET_APERTURE_SECTION_POS,
|
|
MTR_GET_APERTURE_POSITION,
|
|
MTR_GET_APERTURE_FLUX_RATIO,
|
|
MTR_GET_APERTURE_BUSY_STATUS,
|
|
ENUM_DUMMY4WORD(MTR_GET_APERTURE_CMD)
|
|
} MTR_GET_APERTURE_CMD;
|
|
|
|
typedef enum _MTR_SET_APERTURE_CMD {
|
|
MTR_SET_APERTURE_INIT = 1,
|
|
MTR_SET_APERTURE_ASSIGN_POSITION,
|
|
MTR_SET_APERTURE_SECTION_POS,
|
|
MTR_SET_APERTURE_POSITION,
|
|
MTR_SET_APERTURE_FLUX_RATIO,
|
|
ENUM_DUMMY4WORD(MTR_SET_APERTURE_CMD)
|
|
} MTR_SET_APERTURE_CMD;
|
|
|
|
typedef enum _MTR_GET_SHUTTER_CMD {
|
|
MTR_GET_SHUTTER_STATE = 1,
|
|
ENUM_DUMMY4WORD(MTR_GET_SHUTTER_CMD)
|
|
} MTR_GET_SHUTTER_CMD;
|
|
|
|
typedef enum _MTR_SET_SHUTTER_CMD {
|
|
MTR_SET_SHUTTER_INIT = 1,
|
|
MTR_SET_SHUTTER_STATE,
|
|
ENUM_DUMMY4WORD(MTR_SET_SHUTTER_CMD)
|
|
} MTR_SET_SHUTTER_CMD;
|
|
|
|
typedef enum {
|
|
MTR_GET_MISC_NAME_STR = 1,
|
|
MTR_GET_MISC_CAPABILITY,
|
|
MTR_GET_MISC_ZF_RANGE_TABLE,
|
|
MTR_GET_MISC_ZF_CURVE_TABLE,
|
|
MTR_GET_MISC_LED_STATE,
|
|
MTR_GET_MISC_FZ_BACKLASH,
|
|
ENUM_DUMMY4WORD(MTR_GET_MISC_CMD)
|
|
} MTR_GET_MISC_CMD;
|
|
|
|
typedef enum _MTR_SET_MISC_CMD {
|
|
MTR_SET_MISC_ZF_RANGE_TABLE = 1,
|
|
MTR_SET_MISC_ZF_CURVE_TABLE,
|
|
MTR_SET_MISC_LED_STATE,
|
|
MTR_SET_MISC_FZ_BACKLASH,
|
|
ENUM_DUMMY4WORD(MTR_SET_MISC_CMD)
|
|
} MTR_SET_MISC_CMD;
|
|
|
|
typedef enum _MOTOR_SPEED_CATEGORY {
|
|
MOTOR_SPEED_VERY_LOW = 20,
|
|
MOTOR_SPEED_LOW = 40,
|
|
MOTOR_SPEED_MEDIUM = 60,
|
|
MOTOR_SPEED_HIGH = 80,
|
|
MOTOR_SPEED_VERY_HIGH = 100,
|
|
ENUM_DUMMY4WORD(MOTOR_SPEED_CATEGORY)
|
|
} MOTOR_SPEED_CATEGORY;
|
|
|
|
typedef enum _MOTOR_ROTATE_DIR {
|
|
MOTOR_ROTATE_FWD,
|
|
MOTOR_ROTATE_BWD,
|
|
ENUM_DUMMY4WORD(MOTOR_ROTATE_DIR)
|
|
} MOTOR_ROTATE_DIR;
|
|
|
|
typedef enum _IRCUT_ACT {
|
|
IRCUT_OPEN,
|
|
IRCUT_CLOSE,
|
|
ENUM_DUMMY4WORD(IRCUT_ACT)
|
|
} IRCUT_ACT;
|
|
|
|
typedef enum _APERTURE_ACT_MODE {
|
|
APERTURE_ACT_SECTION,
|
|
APERTURE_ACT_STEPLESS,
|
|
ENUM_DUMMY4WORD(APERTURE_ACT_MODE)
|
|
} APERTURE_ACT_MODE;
|
|
|
|
typedef enum _APERTURE_SEC_POS {
|
|
APERTURE_POS_BIG = 0,
|
|
APERTURE_POS_F1_6 = 0,
|
|
APERTURE_POS_F2_0,
|
|
APERTURE_POS_F2_4,
|
|
APERTURE_POS_F2_8,
|
|
APERTURE_POS_F3_4,
|
|
APERTURE_POS_F4_0,
|
|
APERTURE_POS_F4_8,
|
|
APERTURE_POS_F5_6,
|
|
APERTURE_POS_F6_8,
|
|
APERTURE_POS_F9_6,
|
|
APERTURE_POS_F11_0,
|
|
APERTURE_POS_F14_0,
|
|
APERTURE_POS_F16_0,
|
|
APERTURE_POS_F19_0,
|
|
APERTURE_POS_F22_0,
|
|
APERTURE_POS_SMALL = APERTURE_POS_F22_0,
|
|
APERTURE_POS_CLOSE,
|
|
APERTURE_POS_MAX,
|
|
ENUM_DUMMY4WORD(APERTURE_SEC_POS)
|
|
} APERTURE_SEC_POS;
|
|
|
|
typedef enum _SHUTTER_ACT {
|
|
SHUTTER_OPEN,
|
|
SHUTTER_CLOSE,
|
|
ENUM_DUMMY4WORD(SHUTTER_ACT)
|
|
} SHUTTER_ACT;
|
|
|
|
typedef enum _MOTOR_SIGNAL {
|
|
MOTOR_SIGNAL_FPI,
|
|
MOTOR_SIGNAL_ZPI,
|
|
MOTOR_SIGNAL_LED,
|
|
ENUM_DUMMY4WORD(MOTOR_SIGNAL)
|
|
} MOTOR_SIGNAL;
|
|
|
|
typedef enum _HW_GPIO_PIN_DEF {
|
|
HW_GPIO_RESET = 0,
|
|
HW_GPIO_POWER_DN,
|
|
HW_GPIO_FZ,
|
|
HW_GPIO_IS,
|
|
HW_GPIO_IRCUT0,
|
|
HW_GPIO_IRCUT1,
|
|
HW_GPIO_LED0,
|
|
HW_GPIO_LED1,
|
|
HW_GPIO_FSTS,
|
|
HW_GPIO_ZSTS,
|
|
HW_GPIO_EXT0,
|
|
HW_GPIO_EXT1,
|
|
HW_GPIO_EXT2,
|
|
HW_GPIO_EXT3,
|
|
HW_GPIO_MAX,
|
|
ENUM_DUMMY4WORD(HW_GPIO_PIN_DEF)
|
|
} HW_GPIO_PIN_DEF;
|
|
|
|
typedef enum _LENS_SUPPORT_PROPERTY {
|
|
LENS_SUPPORT_NONE = 0x00000000,
|
|
LENS_SUPPORT_FOCUS = 0x00000001,
|
|
LENS_SUPPORT_ZOOM = 0x00000002,
|
|
LENS_SUPPORT_IRCUT = 0x00000004,
|
|
LENS_SUPPORT_APERTURE = 0x00000008,
|
|
LENS_SUPPORT_SHUTTER = 0x00000010,
|
|
ENUM_DUMMY4WORD(LENS_SUPPORT_PROPERTY)
|
|
} LENS_SUPPORT_PROPERTY;
|
|
|
|
typedef struct _MTR_CTL_CMD {
|
|
UINT32 argu[2];
|
|
UINT32 data[2];
|
|
} MTR_CTL_CMD;
|
|
|
|
typedef struct _MTR_CTL_LCMD {
|
|
UINT32 argu[16];
|
|
UINT32 data[16];
|
|
} MTR_CTL_LCMD;
|
|
|
|
typedef struct _LENS_ZOOM_FOCUS_TAB {
|
|
INT32 zoom_position;
|
|
INT32 focus_min;
|
|
INT32 focus_max;
|
|
} LENS_ZOOM_FOCUS_TAB;
|
|
|
|
typedef struct _LENS_ZOOM_FOCUS_ITEM {
|
|
UINT32 tab_idx;
|
|
LENS_ZOOM_FOCUS_TAB zoom_focus_tab;
|
|
} LENS_ZOOM_FOCUS_ITEM;
|
|
|
|
typedef struct _LENS_FOCUS_DISTANCE_TAB {
|
|
INT32 lens_position[FOCUS_DISTANCE_TABLE_NUM];
|
|
} LENS_FOCUS_DISTANCE_TAB;
|
|
|
|
#if defined(__KERNEL__) || defined(__FREERTOS)
|
|
typedef struct _CTL_MTR_DRV_TAB {
|
|
ER (*open) (UINT32 id);
|
|
ER (*close) (UINT32 id);
|
|
ER (*get_focus) (UINT32 id, UINT32 cmd_type, MTR_CTL_CMD *pcmd);
|
|
ER (*set_focus) (UINT32 id, UINT32 cmd_type, MTR_CTL_CMD *pcmd);
|
|
ER (*get_zoom) (UINT32 id, UINT32 cmd_type, MTR_CTL_CMD *pcmd);
|
|
ER (*set_zoom) (UINT32 id, UINT32 cmd_type, MTR_CTL_CMD *pcmd);
|
|
ER (*get_ircut) (UINT32 id, UINT32 cmd_type, MTR_CTL_CMD *pcmd);
|
|
ER (*set_ircut) (UINT32 id, UINT32 cmd_type, MTR_CTL_CMD *pcmd);
|
|
ER (*get_aperture) (UINT32 id, UINT32 cmd_type, MTR_CTL_CMD *pcmd);
|
|
ER (*set_aperture) (UINT32 id, UINT32 cmd_type, MTR_CTL_CMD *pcmd);
|
|
ER (*get_shutter) (UINT32 id, UINT32 cmd_type, MTR_CTL_CMD *pcmd);
|
|
ER (*set_shutter) (UINT32 id, UINT32 cmd_type, MTR_CTL_CMD *pcmd);
|
|
ER (*get_misc) (UINT32 id, UINT32 cmd_type, MTR_CTL_LCMD *pcmd);
|
|
ER (*set_misc) (UINT32 id, UINT32 cmd_type, MTR_CTL_LCMD *pcmd);
|
|
} CTL_MTR_DRV_TAB;
|
|
#endif
|
|
|
|
#endif
|
|
|