diff --git a/driver/als_si114x.c b/driver/als_si114x.c index f11a2100db..e3cb87a2a4 100644 --- a/driver/als_si114x.c +++ b/driver/als_si114x.c @@ -96,7 +96,7 @@ static int si114x_read_results(struct motion_sensor_t *s, int nb) /* Add offset, calibration */ if (val + type_data->offset <= 0) { val = 1; - } else { + } else if (val != SI114X_OVERFLOW) { val += type_data->offset; /* * Proxmitiy sensor data is inverse of the distance. diff --git a/driver/als_si114x.h b/driver/als_si114x.h index c044a8bddf..93e9b9a9bc 100644 --- a/driver/als_si114x.h +++ b/driver/als_si114x.h @@ -206,6 +206,7 @@ /* Proximity sensor finds an object within 5 cm, disable light sensor */ #define SI114X_COVERED_THRESHOLD 5 +#define SI114X_OVERFLOW 0xffff extern const struct accelgyro_drv si114x_drv;