When updating the firmware while the OSTC is running in normal mode, the V2 protocol should be used. However, the OSTC can also be rebooted from the menu or reset using the magnetic switch, and then the V1 protocol should be used. The only difference with the V2 protocol is the slower baudrate (19200 vs 115200). True autodetection of the protocol variant is difficult, because the bootloader will abort the firmware update when not receiving a 0xC1 byte. But we can still take advantage of the fact that the normal firmware does ignore any 0xC1 bytes sent at the wrong baudrate, and probe with the V1 protocol first. If the bootloader is already running, it will respond immediately and we're done. If the normal firmware is still running, it won't respond and the probing with the V1 protocol will fail. If we then switch to the V2 protocol, the firmware update will continue as before. The result is a firmware updater which supports both bootloader protocols without requiring any manual configuration.
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%