<feed xmlns='http://www.w3.org/2005/Atom'>
<title>subsurface.git/libdivecomputer, branch v4.9.4</title>
<subtitle>forked from https://github.com/subsurface/subsurface</subtitle>
<id>https://git.tsegers.com/subsurface.git/atom/libdivecomputer?h=v4.9.4</id>
<link rel='self' href='https://git.tsegers.com/subsurface.git/atom/libdivecomputer?h=v4.9.4'/>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/'/>
<updated>2020-03-14T18:34:46Z</updated>
<entry>
<title>iostream: fix incorrect rfcomm error case when writing</title>
<updated>2020-03-14T18:34:46Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2020-03-13T19:57:15Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=5e89d81d9d6b8b1101b1482620b3f85968eb3b47'/>
<id>urn:sha1:5e89d81d9d6b8b1101b1482620b3f85968eb3b47</id>
<content type='text'>
This is the exact same case as the previous commit, just for the writing
side.

Once again, it's the subsurface rfcomm iostream code that can return
DC_STATUS_SUCCESS with a byte count of zero when something goes wrong
with the write.

And once again, our libdivecomputer iostream code didn't try to be
robust and protect itself from that case.

The fix is equivalent, although slightly simpler, since the write side
doesn't have the whole timeout issue.

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>iostream: fix incorrect rfcomm error case when reading</title>
<updated>2020-03-14T18:34:46Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2020-03-13T17:06:06Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=4ee4bbdb58d7dabae1be1fa6e62622caa5a4fcbc'/>
<id>urn:sha1:4ee4bbdb58d7dabae1be1fa6e62622caa5a4fcbc</id>
<content type='text'>
We had two independent bugs here, both of which needed to fire for this
to cause a problem.  This fixes both of them.

The first bug was that our rfcomm code would return DC_STATUS_SUCCESS
with a zero-sized read when a timeout happened, or when the rfcomm
socket had disconnected.  That makes absolutely no sense.  We should
return DC_STATUS_TIMEOUT on timeout, and DC_STATUS_IO if the socket has
disconnected without any data.

The fix to this is to make the whole rfcomm iostream read logic much
simpler: there's no need to loop at all for partial results, because the
libdivecomputer iostream side will do the loop for us (and handle
partial results much better: it knows if the target backend can handle
those partial results or not).

The second bug was in our libdivecomputer iostream read() function,
which reacted very badly to this bad return value.  This updates our
libdivecomputer branch to one that is more careful about things.

Reported-by: linuxcrash &lt;albin@mrty.ch&gt;
Debugged-by: Jef Driesen &lt;jef@libdivecomputer.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Update libdivecomputer</title>
<updated>2020-02-28T17:48:13Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2020-02-28T17:48:13Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=34549c4cc308ecd740c0913ff3f6e2461caa7404'/>
<id>urn:sha1:34549c4cc308ecd740c0913ff3f6e2461caa7404</id>
<content type='text'>
    Pull upstream libdivecomputer updates from Jef Driesen:

     - fix lack of "end of deco" on DiveSystem iDive computers by reporting
       long NDL values

     - clean up handling of Oceanic empty logbugger

     - fix BLE download for Oceanic Pro Plus X that doesn't like the serial
       number handshake.

Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>Add Cressi BLE name filtering for bluetooth discovery</title>
<updated>2020-02-16T20:52:56Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2020-02-16T16:57:00Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=6df46a25a38fab167b0cd378c2ee563b6ea8f65a'/>
<id>urn:sha1:6df46a25a38fab167b0cd378c2ee563b6ea8f65a</id>
<content type='text'>
.. and update the libdivecomputer submodule to have them marked as BLE
capable.

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Update libdivecomputer</title>
<updated>2020-02-14T01:15:32Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2020-02-14T01:15:32Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=f6260fff43acc5d4b010f3eb158c2b4533f27367'/>
<id>urn:sha1:f6260fff43acc5d4b010f3eb158c2b4533f27367</id>
<content type='text'>
 - fix Oceanic VT Pro date parsing
 - add Sherwood Wisdom 4 and Scubapro Aladin A1 IDs from Janice McLaughlin
 - fix Cressi gasmix index and depth parsing (the gasmix index bit had been
   misparsed as very deep depth)
 - Implement the gas mix sample
 - Limit the depth value to 11 bits
 - Add support for the Scubapro A1
 - Add support for the Sherwood Wisdom 4
 - Fix the vtpro datetime parsing

Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>Update to new libdivecomputer version</title>
<updated>2020-01-27T17:51:31Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2020-01-26T20:42:57Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=9543f53150dec964d86be12af41491ded923c458'/>
<id>urn:sha1:9543f53150dec964d86be12af41491ded923c458</id>
<content type='text'>
Jef has changed the libdivecomputer iostream layer and extended it in
two different ways:

 - iostram's now have a 'poll()' method, which does what the name
   implies: waits for data to be available with a timeout.

 - iostreams now have a 'ioctl()' method, which can be used to implement
   miscellaneous operations. Right now the two ones that you can do are
   "set latency" (this replaces the old 'set_latency()' method) and "get
   BLE name" (this replaces our 'get_name()' method that was never part
   of the upstream libdivecomputer interfaces)

Neither of these is all that complicated, and the transition is fairly
obvious.

HOWEVER.

I have absolutely no idea how to do 'poll()' on Windows sockets, and I
have no intention of figuring it out.  We use a direct socket interface
to implement the (non-BLE) RFCOMM bluetooth serial protocol, and I'm not
sure why Windows is so special here.  I suspect - but cannot test - that
we should just switch the Windows RFCOMM implementation over to the use
the same QtBluetooth code that we use on other platforms.

I assume that the Windows Bluetooth support was originally not
sufficiently good for that, but these days we depend on Qt doing BLE for
us even on Windows, so presumably FRCOMM works too.

That would be a nice cleanup, and would make 'poll()' work on RFCOMM
under Windows too.  However, since I can't test it, I've not done that,
but instead just made the Windows RFCOMM 'poll()' method always return
success.  That may or may not get the thing limping along.

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Update libdivecomputer</title>
<updated>2019-12-31T16:12:29Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2019-12-31T16:11:57Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=a72e6e46abe1dee427a1a08893b33077d63b8e5e'/>
<id>urn:sha1:a72e6e46abe1dee427a1a08893b33077d63b8e5e</id>
<content type='text'>
- Several fixes for Mares divecomputer BLE communication
- Fix the Aeris Manta memory layout
- Add support for the Oceanic Pro Plus 4
- Strip the source directory from file names

Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>Update libdivecomputer</title>
<updated>2019-12-21T22:18:13Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2019-12-21T22:18:10Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=636b26ff4b40c25171c46bb4d62d7f1eab313323'/>
<id>urn:sha1:636b26ff4b40c25171c46bb4d62d7f1eab313323</id>
<content type='text'>
Add initial support for the Oceanic Pro Plus 4
Fix the Oceanic Geo 4.0 memory layout
Ignore all empty logbook entries
Add a workaround for the hwOS ppO2 firmware bug
Use macros to encode the firmware version
Use symbolic constants for the sample types
Remove the obsolete hwos parameter
Limit the tank pressure workaround to hwOS devices
Fix the OSTC tank pressure decoding
Fix the Scubapro G2 HUD udev rule
Add the Mares Genius to the bluetooth filter
Add firmware upgrade support for the Ratio computers

Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>Update libdivecomputer</title>
<updated>2019-10-24T10:33:07Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2019-10-24T10:31:26Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=96386fbcc12837740863f4ad724fee8eb4fbee2a'/>
<id>urn:sha1:96386fbcc12837740863f4ad724fee8eb4fbee2a</id>
<content type='text'>
- Add support for the Oceanic Geo 4.0
- clean up Shearwater tank pressure handling
- minor fixlets

Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>Update libdivecomputer to latest version</title>
<updated>2019-09-07T19:33:45Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2019-09-07T16:52:58Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=d4bcd7bf400edc95cc4868b28f23614d07d9d5e0'/>
<id>urn:sha1:d4bcd7bf400edc95cc4868b28f23614d07d9d5e0</id>
<content type='text'>
This just merges with Jef's branch, which should hopefully fix the Mares
BLUELINK Pro connection issues.  Knock wood - I can no longer test it
due to lack of hardware.

It also improves on the Ratio iDive cylinder pressure transmitter support.

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
