writeBufferWord method

Uint16List writeBufferWord(
  1. MraaSpiContext dev,
  2. Uint16List data,
  3. int length
)

Write buffer word - mraa_spi_write_buf_word

Write a buffer of words to the SPI device. Returns NULL if an error occurs. Maximum length is 4096

Implementation

Uint16List writeBufferWord(MraaSpiContext dev, Uint16List data, int length) {
  final ptr = ffi.calloc.allocate<Uint16>(length);
  final ptrData = ptr.asTypedList(length);
  ptrData.setAll(0, data);
  final retData = _impl.mraa_spi_write_buf_word(dev, ptr, length);
  if (retData == nullptr) {
    return Uint16List(0);
  }
  final retDataList = retData.asTypedList(length);
  final ret = Uint16List(length);
  ret.setAll(0, retDataList);
  ffi.calloc.free(retData);
  return ret;
}