Заметил странную вещь связанную flush:
В QSerialPort отправляю в порт 5Мб, вызываю flush и сразу же получаю подтверждение записи, хотя осциллографом видно что данные еще выходят. С waitForBytesWritten тоже самое.
В QFile flush тоже не дает желаемого результата, сбросил на флешку 1000Мб записалось со скоростью 100Мб/сек, как я понял это скорость чтения с винта в оперативку, так как реальная скорость записи на устройство 2МБ/сек. Flush прошел, тут же вызвал fsync(file.handle()) и как и ожидал завис до окончания реальной записи...
Вопросы:
1. Как в QSerialPort получить подтвержение реального окончания записи в порт? fsync не работает с сокетом (не удивлен).
2. Как добиться баланса между скоростью копирования и контролем процесса. Не очень весело залить все в оперативку и не иметь возможности слежения за процессом копирования, а хотелось бы иметь возможность отмены копирования при необходимости.
Похожие темы
- Форум QSerialPort (2018)
- Форум Виснет QSerialPort (2014)
- Форум QString && QFile (2005)
- Форум Вопросы по QSerialPort (2019)
- Форум php flush() (2006)
- Форум Qt4 Qfile split (2006)
- Форум [QSerialPort] чтение блоками (2011)
- Новости Flush 0.4 released (2009)
- Форум QSerialPort и статическая линковка (2016)
- Форум QSerialPort отказано в доступе. (2020)