public UInt32 Shall_the_result_be_correct(int numberOfMessages) { var result = InteropProd.GetSpiMessageRequest(numberOfMessages); Console.WriteLine("SPI_IOC_MESSAGE({0}) = {1:x}", numberOfMessages, result); return(result); }
/// <summary> /// Starts the SPI data transfer. /// </summary> /// <param name="buffer">The transfer buffer that contains data to be send and/or the received data.</param> /// <returns>An <see cref="int"/> that contains the result of the transfer operation.</returns> public int Transfer(ISpiTransferBuffer buffer) { if (buffer == null) { throw new ArgumentNullException("buffer"); } var request = Interop.GetSpiMessageRequest(1); var structure = buffer.ControlStructure; var result = deviceFile.Control(request, ref structure); result.ThrowOnPInvokeError <SendSpiMessageException>("Can't send SPI message. Error {1}: {2}"); return(result); }
/// <summary> /// Starts the SPI data transfer. /// </summary> /// <param name="transferBuffers">The transfer buffers that contain data to be send and/or the received data.</param> /// <returns>An <see cref="int"/> that contains the result of the transfer operation.</returns> public int Transfer(ISpiTransferBufferCollection transferBuffers) { if (transferBuffers == null) { throw new ArgumentNullException("transferBuffers"); } var request = Interop.GetSpiMessageRequest(transferBuffers.Length); var structures = transferBuffers .Select(buf => buf.ControlStructure) .ToArray(); var result = deviceFile.Control(request, structures); result.ThrowOnPInvokeError <SendSpiMessageException>("Can't send SPI messages. Error {1}: {2}"); return(result); }