+ chunks, rest = divmod(end - start, self._spi.PAYLOAD_MAX_LENGTH)
+ for i in range(chunks):
+ chunk_start = start + i * self._spi.PAYLOAD_MAX_LENGTH
+ chunk_end = chunk_start + self._spi.PAYLOAD_MAX_LENGTH
+ port.write(buf[chunk_start:chunk_end])
+ if rest:
+ port.write(buf[-1*rest:])