code: def display(self, image):
          
          assert(image.mode == self.mode)
          assert(image.size == self.size)
  
          image = self.preprocess(image)
  
          if self.framebuffer.redraw_required(image):
              left, top, right, bottom = self.framebuffer.inflate_bbox()
              width = right - left
              height = bottom - top
  
              buf = bytearray(width * height >> 1)
              self._set_position(top, right, bottom, left)
              self._populate(buf, self.framebuffer.getdata())
              self.data(list(buf))
docs: Takes a 1-bit monochrome or 24-bit RGB image and renders it
          to the greyscale OLED display. RGB pixels are converted to 4-bit
          greyscale values using a simplified Luma calculation, based on
          *Y'=0.299R'+0.587G'+0.114B'*.
  
          :param image: The image to render.
          :type image: PIL.Image.Image