private async Task WaitCommandExecution(ICardDispenserCommand command) { var stopWatch = new Stopwatch(); stopWatch.Start(); while (_status.IsExecutingCommand && stopWatch.ElapsedMilliseconds < command.MaxExecutionTime) { await Task.Delay(50); } }
private async Task ExecuteCommand(ICardDispenserCommand command) { _status.IsExecutingCommand = true; _serialPort.Write(command.Data, 0, command.DataLength); await WaitCommandExecution(command); }