Files

79 lines
2.1 KiB
C
Executable File

#ifndef __SC450AI_H__
#define __SC450AI_H__
#include "sns_comm.h"
#ifdef __cplusplus
extern "C" {
#endif
// sensor fps mode
#define SC450AI_FULL_LINES_MAX 0x7FFF
#define SC450AI_VMAX_4M_1440_LINEAR 1600
#define SC450AI_VMAX_4M_1440_WDR 3200
#define SC450AI_VMAX_4M_1520_LINEAR 1560
#define SC450AI_VMAX_1M_760_LINEAR 780
#define SC450AI_EXP_OFFSET_LINEAR 8
#define SC450AI_FRAME_RATE_MIN 0x4B00
#define SC450AI_EXP_OFFSET_WDR 13
#define SC450AI_S_EXP_MAX_DEFAULT 0xc6
// the value of the sc450ai exposure register is in half line units, (<< 1) for AE calculation, (>> 1) for EXP reg
#define SC450AI_EXP_SHIFT 1
#define SC450AI_REG_ADDR_EXP_H 0x3e00
#define SC450AI_REG_ADDR_EXP_M 0x3e01
#define SC450AI_REG_ADDR_EXP_L 0x3e02
#define SC450AI_REG_ADDR_AGAIN_H 0x3e08
#define SC450AI_REG_ADDR_AGAIN_L 0x3e09
#define SC450AI_REG_ADDR_DGAIN_H 0x3e06
#define SC450AI_REG_ADDR_DGAIN_L 0x3e07
#define SC450AI_REG_ADDR_VMAX_H 0x320e
#define SC450AI_REG_ADDR_VMAX_L 0x320f
#define SC450AI_REG_ADDR_GROUP_HOLD_0 0x3812
#define SC450AI_REG_ADDR_GROUP_HOLD_1 0x363a
#define SC450AI_REG_ADDR_GROUP_HOLD_2 0x3812
#define SC450AI_REG_ADDR_S_EXP_H 0x3e04
#define SC450AI_REG_ADDR_S_EXP_L 0x3e05
#define SC450AI_REG_ADDR_S_AGAIN_H 0x3e12
#define SC450AI_REG_ADDR_S_AGAIN_L 0x3e13
#define SC450AI_REG_ADDR_S_DGAIN_H 0x3e10
#define SC450AI_REG_ADDR_S_DGAIN_L 0x3e11
#define SC450AI_REG_ADDR_S_EXP_MAX_H 0x3e23
#define SC450AI_REG_ADDR_S_EXP_MAX_L 0x3e24
typedef enum {
SC450AI_REG_EXP_H = 0,
SC450AI_REG_EXP_M,
SC450AI_REG_EXP_L,
SC450AI_REG_AGAIN_H,
SC450AI_REG_AGAIN_L,
SC450AI_REG_DGAIN_H,
SC450AI_REG_DGAIN_L,
SC450AI_REG_VMAX_H,
SC450AI_REG_VMAX_L,
SC450AI_REG_L_MAX_NUM,
// short frame reg info from here
SC450AI_REG_S_EXP_H = SC450AI_REG_L_MAX_NUM,
SC450AI_REG_S_EXP_L,
SC450AI_REG_S_AGAIN_H,
SC450AI_REG_S_AGAIN_L,
SC450AI_REG_S_DGAIN_H,
SC450AI_REG_S_DGAIN_L,
SC450AI_REG_S_EXP_MAX_H,
SC450AI_REG_S_EXP_MAX_L,
SC450AI_REG_MAX_NUM
} sc450ai_reg_info;
#ifdef __cplusplus
}
#endif
#endif // __SC450AI_H__