示例#1
0
    def transfer(self, data):
        """Transfers data over SPI.

        Arguments:
            data: The data to transfer.

        Returns:
            The data returned by the SPI device.
        """
        settings = self.transfer_settings
        settings.spi_tx_size = len(data)
        self.transfer_settings = settings

        response = ''
        for i in range(0, len(data), 60):
            response += self.sendCommand(
                commands.SPITransferCommand(data[i:i + 60])).data
            # msc just waste for 2 byte messages time.sleep(0.01)

        while len(response) < len(data):
            response += self.sendCommand(commands.SPITransferCommand('')).data

        return ''.join(response)
示例#2
0
    def transfer(self, data):
        #print "device.py:MCP2210:transfer"
        """Transfers data over SPI.

        Arguments:
            data: The data to transfer.

        Returns:
            The data returned by the SPI device.
        """
#       settings = self.transfer_settings
#       settings.spi_tx_size = len(data)
#       self.transfer_settings = settings

        response = ''
        for i in range(0, len(data), 60):
            response += self.sendCommand(commands.SPITransferCommand(data[i:i + 60])).data
            time.sleep(0.01)

        while len(response) < len(data):
            response += self.sendCommand(commands.SPITransferCommand('')).data

        return ''.join(response)
示例#3
0
文件: device.py 项目: rdpoor/mcp2210
    def transfer(self, data):
        """Transfers data over SPI.

        Arguments:
            data: The data to transfer.

        Returns:
            The data returned by the SPI device.
        """
        settings = self.transfer_settings
        settings.spi_tx_size = len(data)
        self.transfer_settings = settings

        response = b''
        for i in range(0, len(data), 60):
            status = 1
            while status != 0:
                r = self.sendCommand(commands.SPITransferCommand(data[i:i +
                                                                      60]),
                                     check=False)
                status = r.status
                if status not in (0, 0xf8):
                    raise CommandException(status)
            response += r.data

        while len(response) < len(data):
            status = 1
            while status != 0:
                r = self.sendCommand(commands.SPITransferCommand(b''),
                                     check=False)
                status = r.status
                if status not in (0, 0xf8):
                    raise CommandException(status)
            response += r.data

        return response