It looks like the Scubapro G2 firmware update to v2.0 ended up increasing the BLE packet size, which broke our downloader. The logic is shared with the USB HID code, and the way USB HID works is that the packet is fixed at 64 bytes, and the first byte contains the actual payload size. So you could have up to 63 bytes of actual data per packet, and that used to be the limit for the BLE side too. However, now that the BLE side has bigger packets, using a 64-byte packet buffer broke horribly, and caused the new 101-byte BLE packets (one byte of odd data, and 100 bytes of actual payload) to be read as a 64-byte packet followed by a 37-byte one, and that just didn't work at all. At the same time, we cannot just increase the receive packet size, because that makes src/usbhid.c very unhappy at least for the USE_LIBUSB case, because using a bigger buffer for "libusb_interrupt_transfer()" will then wait for more than one packet to arrive. Which obviously doesn't happen when you only get a small reply, and so it all goes south. Fixing src/usbhid.c to only ever ask for 64 bytes at a time is probably the right thing to do, but this instead just makes the Uwatec downloader look at what protocol it uses instead. So if it's USB HID, we use a 64-bit buffer, and for BLE we use a maximum buffer size that then gets filled in with whatever the actual packet size was. Reported-by: <jmejul13@gmail.com> Link: https://groups.google.com/d/msgid/subsurface-divelog/5d653bbd-5cad-4522-bb46-9e0319e465bbn%40googlegroups.com 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%