Skip to content

Commit

Permalink
fix not focusing when all readings broken (#1072)
Browse files Browse the repository at this point in the history
  • Loading branch information
ZwX1616 committed Feb 10, 2020
1 parent dcb14dd commit 08042ab
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions selfdrive/camerad/cameras/camera_qcom.c
Original file line number Diff line number Diff line change
Expand Up @@ -1737,18 +1737,23 @@ static void parse_autofocus(CameraState *s, uint8_t *d) {
if (good_count < 4) {
s->focus_err = nan("");
nan_cnt += 1;
if (nan_cnt > patience_cnt) {
s->focus_err = 16*8.0;
nan_cnt = 0;
}
return;
}

avg_focus /= good_count;

if (abs(avg_focus - max_focus) > 16) {
if (abs(avg_focus - max_focus) > 32) {
if (nan_cnt < patience_cnt) {
s->focus_err = nan("");
nan_cnt += 1;
return;
} else {
s->focus_err = max_focus*8.0;
s->focus_err = 16*8.0;
// s->focus_err = max_focus*8.0;
nan_cnt = 0;
}
} else {
Expand All @@ -1759,10 +1764,12 @@ static void parse_autofocus(CameraState *s, uint8_t *d) {
}

static void do_autofocus(CameraState *s) {
// params for focus PI controller
// params for focus P controller
const float focus_kp = 0.1;

float err = s->focus_err;
// don't allow big change
err = clamp(err, -128, 128);
float sag = (s->last_sag_acc_z/9.8) * 128;

const int dac_up = s->device == DEVICE_LP3? 634:456;
Expand Down

0 comments on commit 08042ab

Please sign in to comment.