*
* @param dev The Spi context
* @param data Data to send
- * @return Data received on the miso line
+ * @return Data received on the miso line or -1 in case of error
*/
-uint8_t mraa_spi_write(mraa_spi_context dev, uint8_t data);
+int mraa_spi_write(mraa_spi_context dev, uint8_t data);
/**
*Write Two Bytes to the SPI device.
* Write single byte to the SPI device
*
* @param data the byte to send
- * @return data received on the miso line
+ * @return data received on the miso line or -1 in case of error
*/
- uint8_t writeByte(uint8_t data) {
+ int writeByte(uint8_t data) {
return mraa_spi_write(m_spi, (uint8_t) data);
}
return MRAA_SUCCESS;
}
-uint8_t
+int
mraa_spi_write(mraa_spi_context dev, uint8_t data)
{
struct spi_ioc_transfer msg;
uint16_t length = 1;
- uint8_t recv = 0;
+ unsigned long recv = 0;
msg.tx_buf = (unsigned long) &data;
msg.rx_buf = (unsigned long) &recv;
msg.speed_hz = dev->clock;
syslog(LOG_ERR, "spi: Failed to perform dev transfer");
return -1;
}
- return recv;
+ return (int) recv;
}
uint16_t