docs: def readPatternLine(self, pos):
          """Read a color pattern line at position
          :param pos: pattern line to read
          :return pattern line data as tuple (r,g,b, step_millis)
          """
          if ( self.dev == None ): return ''
          buf = [REPORT_ID, ord('R'), 0, 0, 0, 0, 0, int(pos), 0]
          self.write(buf)
          buf = self.read()
          (r,g,b) = (buf[2],buf[3],buf[4])
          step_millis = ((buf[5] << 8) | buf[6]) * 10
          return (r,g,b,step_millis)