diff --git a/adafruit_ov5640/__init__.py b/adafruit_ov5640/__init__.py index 8c060eb..e624026 100644 --- a/adafruit_ov5640/__init__.py +++ b/adafruit_ov5640/__init__.py @@ -1510,11 +1510,15 @@ def brightness(self, value: int) -> None: @property def contrast(self) -> int: """Sensor contrast adjustment, from -3 to 3 inclusive""" - contrast_abs = self._read_register(0x5587) >> 4 - contrast_neg = self._read_register(0x5588) & 8 - if contrast_neg: - return -contrast_abs - return contrast_abs + try: + value = _contrast_settings.index( + [self._read_register(0x5586), self._read_register(0x5585)] + ) + except ValueError: + value = 0 + if value > 3: + value -= len(_contrast_settings) + return value @contrast.setter def contrast(self, value: int) -> None: