The OSTC3 stores the dive headers and profile data in two separate memory areas. There is a header area with fixed positions and a profile area which is used as a ring buffer. Each dive header stores the position of the profile data in the ring buffer. Now, once there are more dive headers then room for the profiles, the oldest profiles (but not the headers) are overwritten with new data. Because the dive headers are not updated when their profile data gets overwritten, they will now point to data that is no longer available. The internal logbook detects this situation and does not display the profile. But during the download, there is no such check, and the OSTC will send invalid profile data. This invalid profile data should be dropped on the receiver side. Unfortunately implementing the exact same check as is done by the OSTC itself isn't possible, because the OSTC doesn't send the 6 byte internal header on which the check is based. As a workaround, the two byte end-of-profile marker and the length field in the profile header is used to detect overwritten profiles.
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%