{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":79171906,"defaultBranch":"Subsurface-branch","name":"libdc-for-dirk","ownerLogin":"torvalds","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2017-01-17T00:25:49.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1024025?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1706650484.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"c2dfd16401124e9297e584f108bbf2d1c867aa2b","ref":"refs/heads/test-merge","pushedAt":"2024-01-30T21:34:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"torvalds","name":"Linus Torvalds","path":"/torvalds","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1024025?s=80&v=4"},"commit":{"message":"Merge branch 'master' of github.com:libdivecomputer/libdivecomputer into Subsurface-DS9\n\nThis updates to Jef's current master.\n\n* 'master' of github.com:libdivecomputer/libdivecomputer: (48 commits)\n Fix the React Pro White memory layout\n Add support for the Shearwater Tern\n Exclude O2 sensors without calibration data\n Add support for the Scubapro G3 and Luna 2.0\n Add support for parsing the compass bearings\n Remove disabled gas mixes\n Skip all non-sample records\n Allow a zero timestamp for the first sample\n Fix the Mares Bluelink Pro communication\n Setup the 2 byte command header internally\n Fix a potential buffer overflow\n Use a symbolic constant for the header size\n Use plain ascii text in the code comments\n Document the device descriptor functions\n Export the filter function in the public api\n Use separate data structures for USB and USB HID\n Replace the filter parameters with an alternative\n Pass the descriptor to the filter function\n Remove support for the Tusa TC1\n Remove disabled gas mixes\n ...","shortMessageHtmlLink":"Merge branch 'master' of github.com:libdivecomputer/libdivecomputer i…"}},{"before":"3e39cb427a381b5ac20b94911399557e844e2f8d","after":"78710ab2f1bf5843ab61d2ab2177ef2e3f8b90b3","ref":"refs/heads/Subsurface-DS9","pushedAt":"2024-01-30T20:04:55.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"torvalds","name":"Linus Torvalds","path":"/torvalds","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1024025?s=80&v=4"},"commit":{"message":"Merge pull request #55 from subsurface/add_garmin_descent_mk3_parsing_support","shortMessageHtmlLink":"Merge pull request subsurface#55 from subsurface/add_garmin_descent_m…"}},{"before":"2879bd69a51d9b5e6f8306ad65c683b549c3affc","after":"3e39cb427a381b5ac20b94911399557e844e2f8d","ref":"refs/heads/Subsurface-DS9","pushedAt":"2023-07-16T18:32:21.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"torvalds","name":"Linus Torvalds","path":"/torvalds","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1024025?s=80&v=4"},"commit":{"message":"garmin: fix up some leftovers\n\nWhen importing FIT files, we may not have serial numbers or firmware\nversions in the result, so don't report them when they don't exist.\n\nAlso, add the product name to the FILE message field list, which can\ncontain relevant information. Not that we report it right now, but now\nwe *could* do so.\n\nThis concludes the Suunto FIT file export saga. It's not great, but it\nlooks like it should be usable.\n\nSigned-off-by: Linus Torvalds ","shortMessageHtmlLink":"garmin: fix up some leftovers"}},{"before":"4a2dec531ecc74cdcd84203236b178ec0fdff782","after":"2879bd69a51d9b5e6f8306ad65c683b549c3affc","ref":"refs/heads/Subsurface-DS9","pushedAt":"2023-07-15T20:55:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"torvalds","name":"Linus Torvalds","path":"/torvalds","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1024025?s=80&v=4"},"commit":{"message":"Garmin: parse the ACTIVITY message record\n\nThe ACTIVITY message contains a \"local timestamp\" in addition to the\nregular timestamp. That gives us the timezone information.\n\nOr rather, it would give us the timezone info if we actually used it.\nBut now we at least parse it, so that we *could* use it.\n\nSigned-off-by: Linus Torvalds ","shortMessageHtmlLink":"Garmin: parse the ACTIVITY message record"}},{"before":"929ce47155e035443b2fc1edc92938ac0ee55279","after":"4a2dec531ecc74cdcd84203236b178ec0fdff782","ref":"refs/heads/Subsurface-DS9","pushedAt":"2023-07-14T19:42:24.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"torvalds","name":"Linus Torvalds","path":"/torvalds","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1024025?s=80&v=4"},"commit":{"message":"garmin: relax file name length rules\n\nWe end up using the FIT file name as the \"fingerprint\" for the dive, and\ninclude it at the beginning of the dive data as such. And because of\nhow Garmin encoded the FIT files, we ended up having a fixed 24-byte\nlength for this, which is normally the date encoding:\n\n YYYY-MM-DD-HH-MM-SS.FIT\n\nwith the terminating NUL character.\n\nOf course, then Garmin started using a short-form encoding too\n(presumably due to FAT filesystem limits), and we have magic code to\nsort the dates properly, using the name format\n\n YMDHMMSS.FIT\n\nwith the numbers encoded in a shorter format (eg \"C4ND0302.fit\" is\nequivalent to \"2022-04-23-13-03-02.fit\"). See name_cmp() and\nparse_short_name() for details.\n\nAnyway, because we use the (zero-padded) 24 characters of the name as\nthe fingerprint, we used a fixed-size buffer for the filename that was\nlimited to that maximum size Garmin creates.\n\nBut then you download those things, and have multiple vendors, and\nsuddenly that 24-character limit on the filename is very annoying.\n\nInstead of fixing this in some clean and generic way, let's just raise\nthe namelength limit to something bigger, and continue to use the first\n24 characters of the name for the fingerprint.\n\nPretty it isn't, but it makes it slightly easier to import random FIT\nfiles that don't conform exactly to the traditional Garmin format.\n\nSigned-off-by: Linus Torvalds ","shortMessageHtmlLink":"garmin: relax file name length rules"}},{"before":"929ce47155e035443b2fc1edc92938ac0ee55279","after":null,"ref":"refs/heads/FIT-file-parser-updates","pushedAt":"2023-07-14T16:27:51.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"torvalds","name":"Linus Torvalds","path":"/torvalds","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1024025?s=80&v=4"}},{"before":"3733b87ac964b6eaccdb12d92a7bbcfa3fa448fa","after":"929ce47155e035443b2fc1edc92938ac0ee55279","ref":"refs/heads/Subsurface-DS9","pushedAt":"2023-07-14T16:23:04.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"torvalds","name":"Linus Torvalds","path":"/torvalds","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1024025?s=80&v=4"},"commit":{"message":"garmin_parser: add support for developer fields\n\nThis was the _actual_ reason why the Suunto FIT file import fell flat on\nits face: it adds records with developer fields in them, and I just had\nno idea how to parse them.\n\nIt turns out that they aren't all *that* horrible to parse: they are\nkind of like a special case of the regular FIT event fields.\n\nAnd no, this does not really parse them: it only parses the layout, and\nusing that it can then skip the developer fields without causing the\ndecoder to go all wonky and lose stream synchronization.\n\nAt least it works for the specific case of the Suunto FIT files, and the\ncode makes some amount of sense. The FIT format may be odd, but at the\nsame time it's most definitely designed for pretty simplistic devices,\nso it's not some kind of crazy XML thing.\n\nThis gets us parsing those Suunto FIT files at least partially.\n\nThat said, it is all very rough indeed, since you have to lie and claim\nyou're downloading from a Garmin, and have to set up the whole magic\n'Garmin/Activity/' directory structure and limit the file size to the 24\ncharacters that Garmin uses.\n\nSo this is by no means the real solution.\n\nConsidering that Jef doesn't want the Garmin parser in libdivecomputer\nanyway, the proper solution might be to move this all to subsurface, and\nmake it be a \"FIT file import\" thing instead. Annoying, but on the\nother hand it has also been a bit awkward to have it in libdivecomputer.\n\nSigned-off-by: Linus Torvalds ","shortMessageHtmlLink":"garmin_parser: add support for developer fields"}},{"before":null,"after":"929ce47155e035443b2fc1edc92938ac0ee55279","ref":"refs/heads/FIT-file-parser-updates","pushedAt":"2023-07-13T21:12:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"torvalds","name":"Linus Torvalds","path":"/torvalds","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1024025?s=80&v=4"},"commit":{"message":"garmin_parser: add support for developer fields\n\nThis was the _actual_ reason why the Suunto FIT file import fell flat on\nits face: it adds records with developer fields in them, and I just had\nno idea how to parse them.\n\nIt turns out that they aren't all *that* horrible to parse: they are\nkind of like a special case of the regular FIT event fields.\n\nAnd no, this does not really parse them: it only parses the layout, and\nusing that it can then skip the developer fields without causing the\ndecoder to go all wonky and lose stream synchronization.\n\nAt least it works for the specific case of the Suunto FIT files, and the\ncode makes some amount of sense. The FIT format may be odd, but at the\nsame time it's most definitely designed for pretty simplistic devices,\nso it's not some kind of crazy XML thing.\n\nThis gets us parsing those Suunto FIT files at least partially.\n\nThat said, it is all very rough indeed, since you have to lie and claim\nyou're downloading from a Garmin, and have to set up the whole magic\n'Garmin/Activity/' directory structure and limit the file size to the 24\ncharacters that Garmin uses.\n\nSo this is by no means the real solution.\n\nConsidering that Jef doesn't want the Garmin parser in libdivecomputer\nanyway, the proper solution might be to move this all to subsurface, and\nmake it be a \"FIT file import\" thing instead. Annoying, but on the\nother hand it has also been a bit awkward to have it in libdivecomputer.\n\nSigned-off-by: Linus Torvalds ","shortMessageHtmlLink":"garmin_parser: add support for developer fields"}},{"before":"436063c74d6b98fee04200819dc39850ab8260e3","after":"3733b87ac964b6eaccdb12d92a7bbcfa3fa448fa","ref":"refs/heads/Subsurface-DS9","pushedAt":"2023-07-08T23:52:46.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"torvalds","name":"Linus Torvalds","path":"/torvalds","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1024025?s=80&v=4"},"commit":{"message":"Merge branches 'add_shearwater_teric_timesync' and 'add_ostc4_dump_error' of https://github.com/mikeller/libdc into Subsurface-DS9\n\nPull libdivecomputer updates from Michael Keller:\n\n - Add time synchronisation for the Shearwater Teric\n\n - Fix two OSTC4 buglets\n\n* 'add_shearwater_teric_timesync' of https://github.com/mikeller/libdc:\n Add Time Synchronisation for the Shearwater Teric.\n\n* 'add_ostc4_dump_error' of https://github.com/mikeller/libdc:\n Fix bugs in OSTC4 support.","shortMessageHtmlLink":"Merge branches 'add_shearwater_teric_timesync' and 'add_ostc4_dump_er…"}},{"before":"c288effa010f3327b316ecb258805ff0899e5799","after":"436063c74d6b98fee04200819dc39850ab8260e3","ref":"refs/heads/Subsurface-DS9","pushedAt":"2023-07-08T23:47:08.000Z","pushType":"push","commitsCount":30,"pusher":{"login":"torvalds","name":"Linus Torvalds","path":"/torvalds","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1024025?s=80&v=4"},"commit":{"message":"Merge tag 'v0.8.0' into Subsurface-DS9\n\nMerge upstream version 0.8.0 into our libdc fork.\n\nSince we tracked the development branch, we already had merged all the\nmain changes, but it's been a couple of months since the last upstream\nmerge, and there were a few new changes upstream:\n\n - Divesoft Freedom and Liberty support\n\n - A couple of iostream abstraction layers: a new 'packet layer' and a\n HDLC layer, moving code from low-level dive computer downloaders to\n generic iostream layers.\n\n - misc minor updates\n\n* tag 'v0.8.0': (25 commits)\n Release version 0.8.0\n Fix the date of the v0.7.0 release\n Add a missing filter for the Aqualung i750TC\n Reduce the BLE output packet size to 20 bytes again\n Integrate the new packet I/O in the backends\n Add a generic packet I/O implementation\n Fix a typo in the documentation\n Add support for the Divesoft Freedom and Liberty\n Integrate the HDLC stream in the eonsteel backend\n Add a generic HDLC I/O implementation\n Remove the local endianess functions\n Use the correct function to free resources\n Add the udev rules to the distribution tarball\n Add a README file to the contrib directory\n Include the revision in the Visual Studio and Android builds\n Don't generate the Windows version resource\n Move the Visual Studio project to the contrib directory\n Add a basic Android build system\n Disable the getopt argument permutation on Android\n Move the sign extension function to a common place\n ...","shortMessageHtmlLink":"Merge tag 'v0.8.0' into Subsurface-DS9"}},{"before":"543bd58ddd853b99750658ee1137198928640bea","after":"c288effa010f3327b316ecb258805ff0899e5799","ref":"refs/heads/Subsurface-DS9","pushedAt":"2023-03-16T22:13:15.845Z","pushType":"push","commitsCount":4,"pusher":{"login":"torvalds","name":"Linus Torvalds","path":"/torvalds","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1024025?s=80&v=4"},"commit":{"message":"HW: Add gas type reporting through tank information.\n\nUse tank information to report the type of gas used (open circuit /\ndiluent) for different gas mixes.\n\nSigned-off-by: Michael Keller ","shortMessageHtmlLink":"HW: Add gas type reporting through tank information."}},{"before":"8d3271e586cdef790197effb3985c04f35827d00","after":"543bd58ddd853b99750658ee1137198928640bea","ref":"refs/heads/Subsurface-DS9","pushedAt":"2023-03-16T16:51:08.458Z","pushType":"push","commitsCount":2,"pusher":{"login":"torvalds","name":"Linus Torvalds","path":"/torvalds","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1024025?s=80&v=4"},"commit":{"message":"Merge https://github.com/libdivecomputer/libdivecomputer into Subsurface-DS9\n\nMerge Jef's upstream fix for the OSTC4 CCR gas parsing issue reported by\nMichael Keller.\n\nThis also effectively obviates (and undoes) the revert I did in commit\n8d3271e586cd.\n\n* https://github.com/libdivecomputer/libdivecomputer:\n Fix the OSTC4 diluent changes","shortMessageHtmlLink":"Merge https://github.com/libdivecomputer/libdivecomputer into Subsurf…"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAD7WmfwgA","startCursor":null,"endCursor":null}},"title":"Activity · torvalds/libdc-for-dirk"}