View Issue Details

IDProjectCategoryView StatusLast Update
0000813PicoMOD6NSPIpublic2011-10-14 12:27
ReporterKeller Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Versionunspecified 
Target Versionunspecified 
Summary0000813: IOCTL_NSPI_TRANSFER sends wrong data
DescriptionWhen transmitting SPI data with IOCTL_NSPI_TRANSFER, wrong data is sent out over MOSI. However the received data from MISO is correct.

As a workaround, IOCTL_NSPI_EXCHANGE can be used instead.
Additional InformationIn SPI_IOControl() the start of the buffer where the data to send is stored is computed wrongly. Two lines are in the reverse order.

if (dwCode == IOCTL_NSPI_TRANSFER)
{
    cSpiData.pchWriteBuf = pBufIn + cSpiData.dwCommandLen;
    cSpiData.dwCommandLen -= dwLenOut;
}

needs to be changed to:

if (dwCode == IOCTL_NSPI_TRANSFER)
{
    cSpiData.dwCommandLen -= dwLenOut;
    cSpiData.pchWriteBuf = pBufIn + cSpiData.dwCommandLen;
}
Forum Link
Found Driver VersionSince NSPI V2.0
Fixed Driver VersionNSPI V3.0

Activities

There are no notes attached to this issue.