GSOC project updates

Jef Driesen jef at libdivecomputer.org
Tue Aug 5 02:57:06 PDT 2014


On 2014-07-28 16:31, Venkatesh Shukla wrote:
> On Mon, Jul 28, 2014 at 7:17 PM, Dirk Hohndel <dirk at hohndel.org> wrote:
>> 
>> So I see regular updates from Gehad (HTML export) and Andrey (IOS 
>> Companion), but I feel like I don’t really know where we are regarding 
>> libdivecomputer on Android and dive computer configuration from 
>> Subsurface. Venkatesh and Joseph, could you send your latest status to 
>> the mailing list, please?
> 
> The complete stack needed to enable libdivecomputer on android is
> ready. It seems to be working with OSTC3. It needs further testing.
> Support for other chipsets are not yet implemented.

I don't have an Android device with USB host support, so I only tried 
Venkatesh' code on Linux. I needed a few minor modifications, to make it 
compile, but after that, downloading from an OSTC worked fine.

The implementation of the ftdi serial backend has a few issues that will 
have to be resolved before committing it to the libdivecomputer 
repository. But those are all things that can easily be fixed. I'll 
address those later.

However, the main problem lies in the integration with the rest of the 
libdivecomputer code base. Currently all dive computer backends are 
#ifdef'ed on the __ANDROID__ macro to select between a device node or a 
file descriptor. While that's fine for prototyping, it's a solution I 
consider unacceptable for two reasons. First of all, the dive computer 
backends are supposed to remain completely platform independent. The 
ftdi backend may also be useful for other platforms. Unfortunately 
fixing this, will require architectural changes to the libdivecomputer 
design [1]. I'm fine with that, but that's something that will need 
further discussion and certainly won't be finished in the GSoC timeline.

Therefore, for your GSoC I propose the following: If you finish the 
implementation of ftdi serial backend, I'll already accept that part of 
your work in the libdivecomputer repository. But we leave out the 
integration in the dive computer backends until we have a proper 
solution for that. That would mean the ftdi code will remain unused, but 
already maintained. And for your prototype android port of subsurface, 
the amount of patches would already reduce to just the (ugly) 
integration part.

[1] http://libdivecomputer.org/pipermail/devel/2014-June/000305.html

Jef


More information about the subsurface mailing list