From 5ea5507327b18ec7f25b0b45e6667982b0a446aa Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 17 Oct 2021 15:19:26 +0200 Subject: tracker/trackhat: register work --- tracker-trackhat/settings.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'tracker-trackhat/settings.cpp') diff --git a/tracker-trackhat/settings.cpp b/tracker-trackhat/settings.cpp index d22eb373..1aac6082 100644 --- a/tracker-trackhat/settings.cpp +++ b/tracker-trackhat/settings.cpp @@ -76,16 +76,17 @@ int trackhat_camera::init_regs() constexpr unsigned max_attempts = 5; TH_ErrorCode error; - auto exp = (uint8_t)t.exposure; - auto thres = (uint8_t)t.threshold; + auto exp = (uint8_t)t.exposure; + auto exp2 = (uint8_t)(exp == 0xff ? 0xf0 : 0xff); + auto thres = (uint8_t)t.threshold; auto thres2 = (uint8_t)std::clamp((int)*t.threshold_2, 0, std::max(64, thres-1)); - auto gain = (uint8_t)*t.gain; - auto gain_c = (uint8_t)((gain/0x0f + !!(gain/0x0f)) & 3); - gain %= 0x0f; + auto gain = (uint8_t)((int)*t.gain); + auto gain_c = (uint8_t)(gain/0x10); + gain %= 0x10; gain_c %= 4; const uint8_t regs[][3] = { - { 0x0c, 0x0f, 0xf0 }, // exposure lo + { 0x0c, 0x0f, exp2 }, // exposure lo { 0x0c, 0x10, exp }, // exposure hi { 0x00, 0x0b, 0xff }, // blob area max size { 0x00, 0x0c, 0x03 }, // blob area min size -- cgit v1.2.3