processCmds method

void processCmds(
  1. dynamic message
)

Implementation

void processCmds(message) {
  if (ttyFd == null) {
    _log('command ignored - port closed: $message');
    return;
  }
  _log('command received: $message');

  int? writeResult;
  if (message != null) {
    _log('writing ${message.runtimeType} : $message');
    var txData = message as List<int>;
    var count = txData.length;
    for (var index = 0; index < count; index++) //
      buf255.elementAt(index).value = txData[index];
    writeResult = dylib.writeBytesMth(ttyFd!, count, buf255);
    if (writeResult >= 0) {
      _log('  $writeResult bytes written');
      return;
    }
    _log('  write failed: $writeResult, ${dylib.lastErrorMth()}');
  }

  _log('closing port');
  var closeResult = dylib.closePortMth(ttyFd!);
  cmdPort.close();
  ttyFd = null;
  if (closeResult >= 0)
    _log('  closed');
  else
    _log('  close failed: $closeResult, ${dylib.lastErrorMth()}');
}