writeBuffer method

Uint8List writeBuffer(
  1. MraaSpiContext dev,
  2. Uint8List data,
  3. int length
)

Write buffer - mraa_spi_write_buf

Write Buffer of bytes to the SPI device. Returns NULL if an error occurs. Maximum length is 4096

Implementation

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