mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-01 11:32:21 +08:00
Focus Actuator Comments (#2478)
* comments from DW9800W datasheet * more comments old-commit-hash: 4d5efb57897832373c2af1435c6d953e9212f814
This commit is contained in:
@@ -1399,7 +1399,7 @@ static void camera_open(CameraState *s, bool rear) {
|
||||
err = ioctl(s->ois_fd, VIDIOC_MSM_OIS_CFG, &ois_cfg_data);
|
||||
LOG("ois init settings: %d", err);
|
||||
} else {
|
||||
// leeco actuator
|
||||
// leeco actuator (DW9800W H-Bridge Driver IC)
|
||||
// from sniff
|
||||
s->infinity_dac = 364;
|
||||
|
||||
@@ -1407,6 +1407,7 @@ static void camera_open(CameraState *s, bool rear) {
|
||||
{
|
||||
.reg_write_type = MSM_ACTUATOR_WRITE_DAC,
|
||||
.hw_mask = 0,
|
||||
// MSB here at address 3
|
||||
.reg_addr = 3,
|
||||
.hw_shift = 0,
|
||||
.data_type = 9,
|
||||
@@ -1417,11 +1418,14 @@ static void camera_open(CameraState *s, bool rear) {
|
||||
};
|
||||
|
||||
struct reg_settings_t actuator_init_settings[] = {
|
||||
{ .reg_addr=2, .addr_type=MSM_ACTUATOR_BYTE_ADDR, .reg_data=1, .data_type = MSM_ACTUATOR_BYTE_DATA, .i2c_operation = MSM_ACT_WRITE, .delay = 0 },
|
||||
{ .reg_addr=2, .addr_type=MSM_ACTUATOR_BYTE_ADDR, .reg_data=0, .data_type = MSM_ACTUATOR_BYTE_DATA, .i2c_operation = MSM_ACT_WRITE, .delay = 2 },
|
||||
{ .reg_addr=2, .addr_type=MSM_ACTUATOR_BYTE_ADDR, .reg_data=2, .data_type = MSM_ACTUATOR_BYTE_DATA, .i2c_operation = MSM_ACT_WRITE, .delay = 2 },
|
||||
{ .reg_addr=6, .addr_type=MSM_ACTUATOR_BYTE_ADDR, .reg_data=64, .data_type = MSM_ACTUATOR_BYTE_DATA, .i2c_operation = MSM_ACT_WRITE, .delay = 0 },
|
||||
{ .reg_addr=2, .addr_type=MSM_ACTUATOR_BYTE_ADDR, .reg_data=1, .data_type = MSM_ACTUATOR_BYTE_DATA, .i2c_operation = MSM_ACT_WRITE, .delay = 0 }, // PD = power down
|
||||
{ .reg_addr=2, .addr_type=MSM_ACTUATOR_BYTE_ADDR, .reg_data=0, .data_type = MSM_ACTUATOR_BYTE_DATA, .i2c_operation = MSM_ACT_WRITE, .delay = 2 }, // 0 = power up
|
||||
{ .reg_addr=2, .addr_type=MSM_ACTUATOR_BYTE_ADDR, .reg_data=2, .data_type = MSM_ACTUATOR_BYTE_DATA, .i2c_operation = MSM_ACT_WRITE, .delay = 2 }, // RING = SAC mode
|
||||
{ .reg_addr=6, .addr_type=MSM_ACTUATOR_BYTE_ADDR, .reg_data=64, .data_type = MSM_ACTUATOR_BYTE_DATA, .i2c_operation = MSM_ACT_WRITE, .delay = 0 }, // 0x40 = SAC3 mode
|
||||
{ .reg_addr=7, .addr_type=MSM_ACTUATOR_BYTE_ADDR, .reg_data=113, .data_type = MSM_ACTUATOR_BYTE_DATA, .i2c_operation = MSM_ACT_WRITE, .delay = 0 },
|
||||
// 0x71 = DIV1 | DIV0 | SACT0 -- Tvib x 1/4 (quarter)
|
||||
// SAC Tvib = 6.3 ms + 0.1 ms = 6.4 ms / 4 = 1.6 ms
|
||||
// LSC 1-step = 252 + 1*4 = 256 ms / 4 = 64 ms
|
||||
};
|
||||
|
||||
struct region_params_t region_params[] = {
|
||||
|
||||
Reference in New Issue
Block a user