diff --git a/inkycal/main.py b/inkycal/main.py index 01ad439..9354167 100644 --- a/inkycal/main.py +++ b/inkycal/main.py @@ -63,6 +63,12 @@ class Inkycal: from inkycal.display import Display self.Display = Display(model) + # get calibration hours + self._calibration_hours = self.Settings.calibration_hours + + # set a check for calibration + self._calibration_state = False + # load+validate settings file. Import and setup specified modules self.active_modules = self.Settings.active_modules() for module in self.active_modules: @@ -178,6 +184,8 @@ class Inkycal: if self.render == True: Display = self.Display + self._calibration_check() + if self.supports_colour == True: im_black = Image.open(images+'canvas.png') im_colour = Image.open(images+'canvas_colour.png') @@ -329,10 +337,22 @@ class Inkycal: def calibrate(self): """Calibrate the ePaper display to prevent burn-ins (ghosting) - Currently has to be run manually""" + use this command to manually calibrate the display""" self.Display.calibrate() + def _calibration_check(self): + """Calibration sheduler + uses calibration hours from settings file to check if calibration is due""" + now = arrow.now() + print('hour:', now.hour, 'hours:', self._calibration_hours) + print('state:', self._calibration_state) + if now.hour in self._calibration_hours and self._calibration_state == False: + self.calibrate() + self._calibration_state = True + else: + self._calibration_state = False + def _check_for_updates(self): """Check if a new update is available for inkycal"""