def readBytes(self, numBytes: int) -> bytes: """Reads and returns numBytes of raw data. Parameters ---------- numBytes : int The number of bytes to read. Returns ------- bytes The unparsed data. Raises ------- AssertationException If trying to read outside the range of available data. """ end = self.offset + numBytes validate_range(numBytes, 1, 63, msg='numBytes must be within the range 0-63, got $0.') validate_lower(end, 65, msg='unable to read $0 bytes, only %d remain.' % (64 - self.offset)) str = self.data[self.offset:end] self.offset = end return str
def getFrequency(self, slot: int) -> tuple: validate_range(slot, 0, 2) return ( getattr(self, 'r_%d' % slot), getattr(self, 'g_%d' % slot), getattr(self, 'b_%d' % slot), )
def setActiveProfile(self, index: None) -> None: res = None if index is not None: validate_range(index, 0, 2) (r, g, b) = self.frequencies.getFrequency(index) res = (Resolution.from_hertz(r), Resolution.from_hertz(g), Resolution.from_hertz(b)) self.resolution.setResolutions(res) self.active = index
def setProfileFrequencies(self, index: int, value: tuple) -> None: validate_range(index, 0, 2) validate_tuple(value, (int, int, int)) r = Resolution.from_hertz(value[0]) g = Resolution.from_hertz(value[1]) b = Resolution.from_hertz(value[2]) self.frequencies.setFrequency( index, (r.to_hertz(), g.to_hertz(), b.to_hertz())) if index == self.active: self.resolution.setResolutions((r, g, b))
def getProfileFrequencies(self, index: int) -> tuple: validate_range(index, 0, 2) return self.frequencies.getFrequency(index)
def value(self, profile: int) -> BYTE: validate_range(profile, 0, 1) return BYTE(Brightness.profiles[profile][self.level])
def value(self, profile: int) -> BYTE: validate_range(profile, 0, 4) return BYTE(Speed.profiles[profile][self.level])
def setFrequency(self, slot: int, value: tuple) -> None: validate_range(slot, 0, 2) validate_tuple(value, (int, int, int)) setattr(self, 'r_%d' % slot, WORD(value[0])) setattr(self, 'g_%d' % slot, WORD(value[1])) setattr(self, 'b_%d' % slot, WORD(value[2]))