Aeris A300CS patches [V2]

Dirk Hohndel dirk at hohndel.org
Thu Oct 2 08:18:58 PDT 2014


On Thu, Oct 02, 2014 at 05:08:42PM +0200, Jef Driesen wrote:
> On 2014-09-26 20:19, Dirk Hohndel wrote:
> >Let me know if we are getting closer or if there are more parts you want
> >me to rework (e.g. the cache code).
> 
> I still need to look at your code, but I received some additional test data
> that will be of interest for your work. Someone tried to download an A300CS
> with an unpatched libdivecomputer build. Strange enough, reading the data
> packets worked out of the box, and the download failed only because of the
> wrong (default) memory layout. Downloading a memory dump succeeded after
> just a minor patch for the larger memory size.
> 
> So it seems that the old B1 command is still working, and without any
> DTR/RTS changes. You told me none of that worked for you, so I wonder what
> is going on here.

That's strange. I kept trying B1 and couldn't get it to work on mine.
I will try again with my latest build to see if this was some weird cross
dependency on other changes that I made...
If B1 does work I can completely get rid of the cache, so that would be
nice.

> I may have an explanation for the DTR/RTS part, but not for the B1 part. The
> tester is using Windows. If you look at the serial_win32.c code, you'll
> notice that the serial_configure function always sets DTR/RTS with:
> 
> dcb.fDtrControl = DTR_CONTROL_ENABLE;
> dcb.fRtsControl = RTS_CONTROL_ENABLE;
> 
> So that means when you configure the serial settings on Windows, you are
> forced to also set (or clear) the DTR/RTS lines. This is different on Linux,
> where the api to control DTR/RTS is completely independent from the other
> settings. This independent api also exists on Windows, but DTR/RTS are
> already set and the extra calls are thus not necessary. That probably
> explains why it works out of the box on Windows, but not on Linux.

That would make sense - I did all that testing on Linux. What do you
recommend we do about this? Make the additional DTR/RTS Linux specific, or
simply leave them in place as they shouldn't hurt on Windows, either?

> I have attached the data files, so you can have a look too.

Excellent. I'll play with them.

I was getting close to sending you V3 of my patches (with correct interval
setting, support for NDL/Deco and salinity), but I think I'll first go
back and test B1 again.

/D


More information about the devel mailing list