self._nova.setClockSPI(0, clock)
         self._nova.setModeSPI(0, 0)
         self._nova.setIOpinMode(0, 'DOUT')
         self._nova.setClockSPI(0, clock)
         self._nova.setModeSPI(0, 0)
         self._nova.setIOpinMode(0, 'DOUT')
 
     def init(self, baudrate=100000, polarity=0, phase=0, bits=8,
                   firstbit=MSB, sck=None, mosi=None, miso=None):
 
     def init(self, baudrate=100000, polarity=0, phase=0, bits=8,
                   firstbit=MSB, sck=None, mosi=None, miso=None):
         self._nova.setClockSPI(0, baudrate)
         self._nova.setModeSPI(0, (polarity<<1) | (phase))
 
         self._nova.setClockSPI(0, baudrate)
         self._nova.setModeSPI(0, (polarity<<1) | (phase))
 
     def write(self, buf, start=0, end=None):
         end = end if end else len(buf)
         chunks, rest = divmod(end - start, self.PAYLOAD_MAX_LENGTH)
     def write(self, buf, start=0, end=None):
         end = end if end else len(buf)
         chunks, rest = divmod(end - start, self.PAYLOAD_MAX_LENGTH)
             self._nova.clearBuffer(0)
             self._nova.writeToBuffer(0, 0, buffer_data)
             self._nova.transferBufferSPI(0, rest)
             self._nova.clearBuffer(0)
             self._nova.writeToBuffer(0, 0, buffer_data)
             self._nova.transferBufferSPI(0, rest)
 
     def readinto(self, buf, start=0, end=None, write_value=0):
         end = end if end else len(buf)
 
     def readinto(self, buf, start=0, end=None, write_value=0):
         end = end if end else len(buf)
         for i in range(start, end):
             buf[start+i] = int(self.getSpiReceivedData(self._nova.transferSPI(0, write_value)), 16)
         for i in range(start, end):
             buf[start+i] = int(self.getSpiReceivedData(self._nova.transferSPI(0, write_value)), 16)
 
     def write_readinto(self, buffer_out, buffer_in,  out_start=0, out_end=None, in_start=0, in_end=None):
         out_end = out_end if out_end else len(buffer_out)
 
     def write_readinto(self, buffer_out, buffer_in,  out_start=0, out_end=None, in_start=0, in_end=None):
         out_end = out_end if out_end else len(buffer_out)
         for data_out in buffer_out:
             data_in = int(self.getSpiReceivedData(self._nova.transferSPI(0, data_out)), 16)
             if i < readlen:
                 buffer_in[in_start+i] = data_in
             i += 1
         for data_out in buffer_out:
             data_in = int(self.getSpiReceivedData(self._nova.transferSPI(0, data_out)), 16)
             if i < readlen:
                 buffer_in[in_start+i] = data_in
             i += 1