[PATCH] Cochran: Changed communication parameter to work better with FTDI.
Jef Driesen
jef at libdivecomputer.org
Wed Sep 13 23:38:27 PDT 2017
On 2017-09-11 17:21, John Van Ostrand wrote:
> On Mon, Sep 11, 2017 at 11:13 AM, Jef Driesen <jef at libdivecomputer.org>
> wrote:
>> If you change the baudrate while data is arriving, then it might be
>> that
>> some data was still read with the old baudrate (because it was already
>> sitting in the driver receive queue).
>>
> That's what I thought, but a flush after the baud rate change didn't
> seem
> to make it less likely.
Maybe it works better when you purge the buffers before doing the break?
And for the heartbeat you could try to use a small loop where you
discard invalid heartbeat bytes, until you receive a good one.
>> With fatal errors, I was referring to errors reported by operating
>> system
>> and/or driver. If for example the write call fails because the
>> connection
>> is down (usb cable unplugged, bluetooth connection lost) or some other
>> serious I/O error happened, then there is no point in retrying. In
>> that
>> case you want to bailout as soon as possible. Typically only for
>> errors at
>> the communication protocol level (e.g. timeouts, corrupt data packets,
>> etc)
>> retrying helps. Those correspond to the DC_STATUS_TIMEOUT and
>> DC_STATUS_PROTOCOL error codes. Everything else is pretty much fatal.
>
> Ahh, I see it now. That commit should work fine.
Patches have been pushed.
Jef
More information about the devel
mailing list