So FIT files seem to have many many different ways to describe time offsets. And I'm not talking about the overall Garmin time offset of 631065600, which is the conversion from the "Unix Epoch" (Jan 1, 1970) to the "Garmin Epoch" (Dec 31, 1989). No, I'm talking just about "device time" to "local time" to "UTC" conversions. The DEVICE_SETTINGS message has two different fields for time offsets: there's a "UTC offset" (presumably this is the timezone the device is set to), and a "time offset" which we actually use to transform the recorded time of the dive into the local time that we report. But the Suunto FIT export doesn't seem to use either of those, and instead Nick Clark points outthe Suunto FAQ: "Timestamp fields are deliberately defined as UTC time so that they may be conveniently displayed in the local time if so desired. In some instances it is useful to know the UTC offset when the file was generated (possibly different from when it is decoded). This can be accomplished by logging a single message containing both a local_timestamp and a timestamp field. This will establish the UTC offset of the file. Presently these fields are predefined for activity and monitoring messages" so to get the actual local time, instead of getting it from the DEVICE_SETTINGS message, we now have to parse the ACTIVITY message, and take the difference between the regular timestamp and the "local_timestamp" field. The great thing about standards is that there are so many to choose from. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
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%