|
We can't have async io on the main thread because QSerialPort's
readyRead() signal can fire constantly, thus consuming all CPU time.
We can't sleep in the main thread either as that blocks too many things.
We can't ignore readyRead() invocations over a threshold as that'll make
us lose some of data notifications.
Refactor hatire to put IO on a thread. Since this is a separate Qt event
loop, we may sleep in there.
Further, add a debug mode reading data from a file, as if it came from a
serial-attached device.
Issue: #327
|