Заметил странную вещь связанную flush:
В QSerialPort отправляю в порт 5Мб, вызываю flush и сразу же получаю подтверждение записи, хотя осциллографом видно что данные еще выходят. С waitForBytesWritten тоже самое.
В QFile flush тоже не дает желаемого результата, сбросил на флешку 1000Мб записалось со скоростью 100Мб/сек, как я понял это скорость чтения с винта в оперативку, так как реальная скорость записи на устройство 2МБ/сек. Flush прошел, тут же вызвал fsync(file.handle()) и как и ожидал завис до окончания реальной записи...
Вопросы:
1. Как в QSerialPort получить подтвержение реального окончания записи в порт? fsync не работает с сокетом (не удивлен).
2. Как добиться баланса между скоростью копирования и контролем процесса. Не очень весело залить все в оперативку и не иметь возможности слежения за процессом копирования, а хотелось бы иметь возможность отмены копирования при необходимости.
Форум —
Development


