def update_orientation(self): triangle = get_triangle(list(self.points.values())) if triangle is None: lc.log.debug("Triangle not found") else: middle = Point( (triangle['right'].x + triangle['left'].x) / 2, (triangle['right'].y + triangle['left'].y) / 2, ) self.device.orientation = middle.angle_with(triangle['top'])