Sending the two byte command header and then waiting for the ack byte before sending the remainder of the command payload causes problems for some (but not all) users. Most likely the extra roundtrip time due to waiting for the ack byte results in a delay that sometimes exceeds a timeout in the dive computer while it's waiting for the payload data. On the other hand, sending both the command header and the payload data in one single packet is also not an option, because it causes problems for some models, like the Mares Matrix. See commit 59bfb0f3189b14ae858650b851539d59e3fefe86 for details. As an alternative solution, send the packet payload immediately after the header, without waiting for the ack byte. This eliminates the extra roundtrip time, while still sending out two separate bluetooth packets.
Overview ======== Libdivecomputer is a cross-platform and open source library for communication with dive computers from various manufacturers. The official web site is: http://www.libdivecomputer.org/ The sourceforge project page is: http://sourceforge.net/projects/libdivecomputer/ Installation ============ On UNIX-like systems (including Linux, Mac OS X, MinGW), use the autotools based build system. Run the following commands from the top directory (containing this file) to configure, build and install the library and utilities: $ ./configure $ make $ make install If you downloaded the libdivecomputer source code directly from the git source code repository, then you need to create the configure script as the first step: $ autoreconf --install To uninstall libdivecomputer again, run: $ make uninstall Support ======= Please send bug reports, feedback or questions to the mailing list: http://libdivecomputer.org/cgi-bin/mailman/listinfo/devel or contact me directly: jef@libdivecomputer.org License ======= Libdivecomputer is free software, released under the terms of the GNU Lesser General Public License (LGPL). You can find a copy of the license in the file COPYING.
Description
Languages
C
98.3%
M4
1.2%
Makefile
0.5%