uint16_t* mraa_spi_write_buf_word(mraa_spi_context dev, uint16_t* data, int length) { uint16_t* recv = malloc(sizeof(uint16_t) * length); if (mraa_spi_transfer_buf_word(dev, data, recv, length) != MRAA_SUCCESS) { free(recv); return NULL; } return recv; }
uint16_t* mraa_spi_write_buf_word(mraa_spi_context dev, uint16_t* data, int length) { if (dev == NULL) { syslog(LOG_ERR, "spi: write_buf_word: context is invalid"); return NULL; } uint16_t* recv = malloc(sizeof(uint16_t) * length); if (mraa_spi_transfer_buf_word(dev, data, recv, length) != MRAA_SUCCESS) { free(recv); return NULL; } return recv; }
/** * Transfer data to and from SPI device Receive pointer may be null if * return data is not needed. * * @param txBuf buffer to send * @param rxBuf buffer to optionally receive data from spi device * @param length size of buffer to send * @return Result of operation */ Result transfer_word(uint16_t* txBuf, uint16_t* rxBuf, int length) { return (Result) mraa_spi_transfer_buf_word(m_spi, txBuf, rxBuf, length); }