{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":78377724,"defaultBranch":"Subsurface-DS9","name":"libdc","ownerLogin":"subsurface","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-01-08T23:35:01.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/3876063?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1705961322.0","currentOid":""},"activityList":{"items":[{"before":"9f2674ee7c76948a7c6a3c8eccaf85b0495b387d","after":"5d321deb8ac1dc85850947619d0b8b183a0837e8","ref":"refs/heads/Subsurface-DS9","pushedAt":"2024-05-08T00:29:29.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mikeller","name":"Michael Keller","path":"/mikeller","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4742747?s=80&v=4"},"commit":{"message":"Merge pull request #62 from mikeller/remove_garmin_filter","shortMessageHtmlLink":"Merge pull request #62 from mikeller/remove_garmin_filter"}},{"before":"6bd1183c346b214220cba39aae32e522961ea367","after":"9f2674ee7c76948a7c6a3c8eccaf85b0495b387d","ref":"refs/heads/Subsurface-DS9","pushedAt":"2024-05-08T00:29:10.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mikeller","name":"Michael Keller","path":"/mikeller","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4742747?s=80&v=4"},"commit":{"message":"Merge pull request #61 from mikeller/add_shearwater_stack_status","shortMessageHtmlLink":"Merge pull request #61 from mikeller/add_shearwater_stack_status"}},{"before":"0c125489dfde690fc74fb09326560dc1c19f2a34","after":"6bd1183c346b214220cba39aae32e522961ea367","ref":"refs/heads/Subsurface-DS9","pushedAt":"2024-05-08T00:28:54.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"mikeller","name":"Michael Keller","path":"/mikeller","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4742747?s=80&v=4"},"commit":{"message":"Merge pull request #59 from mikeller/fix_shearwater_sensor_calibration","shortMessageHtmlLink":"Merge pull request #59 from mikeller/fix_shearwater_sensor_calibration"}},{"before":"89221475cfb9efb319a099355904aca081ec1ddd","after":"0c125489dfde690fc74fb09326560dc1c19f2a34","ref":"refs/heads/Subsurface-DS9","pushedAt":"2024-05-08T00:27:55.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mikeller","name":"Michael Keller","path":"/mikeller","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4742747?s=80&v=4"},"commit":{"message":"Merge pull request #57 from mikeller/remove_shearwater_predator_timesync","shortMessageHtmlLink":"Merge pull request #57 from mikeller/remove_shearwater_predator_timesync"}},{"before":"ca55a11ed51a776bf1aaff3a432f6078ec13dbb0","after":"89221475cfb9efb319a099355904aca081ec1ddd","ref":"refs/heads/Subsurface-DS9","pushedAt":"2024-05-03T13:40:04.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mikeller","name":"Michael Keller","path":"/mikeller","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4742747?s=80&v=4"},"commit":{"message":"Merge pull request #60 from mikeller/fix_serial_setting\n\nI verified that this bug is breaking the reporting of the serial number on my dive computers as well - they all report as `0`. Merging this as it is affecting a lot of users.","shortMessageHtmlLink":"Merge pull request #60 from mikeller/fix_serial_setting"}},{"before":"62a29eea15137ba7b0f2e10fae095517cc9d8341","after":"ca55a11ed51a776bf1aaff3a432f6078ec13dbb0","ref":"refs/heads/Subsurface-DS9","pushedAt":"2024-04-28T06:46:40.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"mikeller","name":"Michael Keller","path":"/mikeller","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4742747?s=80&v=4"},"commit":{"message":"Merge pull request #58 from mikeller/add_garmin_descent_mk3_support\n\nMerging this - there is demand for this fix, so now is a good time to get it tested: https://groups.google.com/g/subsurface-divelog/c/7Uo7A9YTGhg/m/BlhlZ2NNBQAJ","shortMessageHtmlLink":"Merge pull request #58 from mikeller/add_garmin_descent_mk3_support"}},{"before":"78710ab2f1bf5843ab61d2ab2177ef2e3f8b90b3","after":"62a29eea15137ba7b0f2e10fae095517cc9d8341","ref":"refs/heads/Subsurface-DS9","pushedAt":"2024-02-26T00:00:50.000Z","pushType":"pr_merge","commitsCount":58,"pusher":{"login":"mikeller","name":"Michael Keller","path":"/mikeller","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4742747?s=80&v=4"},"commit":{"message":"Merge pull request #56 from mikeller/update_libdivecomputer_202402","shortMessageHtmlLink":"Merge pull request #56 from mikeller/update_libdivecomputer_202402"}},{"before":"76170009b463efbd75172e6f9d8a5b27f5677fec","after":null,"ref":"refs/heads/add_garmin_descent_mk3_parsing_support","pushedAt":"2024-01-22T22:08:42.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mikeller","name":"Michael Keller","path":"/mikeller","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4742747?s=80&v=4"}},{"before":"577b6940874c76cfc9b1adb0b0e51e26349b5a8f","after":"78710ab2f1bf5843ab61d2ab2177ef2e3f8b90b3","ref":"refs/heads/Subsurface-DS9","pushedAt":"2024-01-22T22:08:37.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mikeller","name":"Michael Keller","path":"/mikeller","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4742747?s=80&v=4"},"commit":{"message":"Merge pull request #55 from subsurface/add_garmin_descent_mk3_parsing_support","shortMessageHtmlLink":"Merge pull request #55 from subsurface/add_garmin_descent_mk3_parsing…"}},{"before":"81edd56b96aa2c84fd7abc666f0fdd07ac52ac06","after":"76170009b463efbd75172e6f9d8a5b27f5677fec","ref":"refs/heads/add_garmin_descent_mk3_parsing_support","pushedAt":"2024-01-21T23:54:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"mikeller","name":"Michael Keller","path":"/mikeller","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4742747?s=80&v=4"},"commit":{"message":"Garmin: Add Support for Parsing of Garmin Descent Mk3 FIT files.\n\nAdd support for FIT files generated by the Garmin Descent Mk3.\nThis just fixes a field number limitation, it has not yet been\nverified that the Mk3 file format is properly interpreted by Subsurface.\n\nSigned-off-by: Michael Keller ","shortMessageHtmlLink":"Garmin: Add Support for Parsing of Garmin Descent Mk3 FIT files."}},{"before":null,"after":"81edd56b96aa2c84fd7abc666f0fdd07ac52ac06","ref":"refs/heads/add_garmin_descent_mk3_parsing_support","pushedAt":"2024-01-21T23:50:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mikeller","name":"Michael Keller","path":"/mikeller","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4742747?s=80&v=4"},"commit":{"message":"Garmin: Add Support for Parsing of Garmin Descent Mk3 FIT files.\n\nAdd support for FIT files generated by the Garmin Descent Mk3.\nThis just fixes a field number limitation, it has not yet been\nverified that the Mk3 file format is properly interpreted by Subsurface.\n\nSigned-off-by: Michael Keller ","shortMessageHtmlLink":"Garmin: Add Support for Parsing of Garmin Descent Mk3 FIT files."}},{"before":"97b2c89aaac0006d08400a95f13cd5851f17081c","after":"577b6940874c76cfc9b1adb0b0e51e26349b5a8f","ref":"refs/heads/Subsurface-DS9","pushedAt":"2023-08-01T09:43:41.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mikeller","name":"Michael Keller","path":"/mikeller","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4742747?s=80&v=4"},"commit":{"message":"Merge pull request #54 from mikeller/improve_cressi_leonardo_ascent_warnings","shortMessageHtmlLink":"Merge pull request #54 from mikeller/improve_cressi_leonardo_ascent_w…"}},{"before":"3e39cb427a381b5ac20b94911399557e844e2f8d","after":"97b2c89aaac0006d08400a95f13cd5851f17081c","ref":"refs/heads/Subsurface-DS9","pushedAt":"2023-07-23T03:43:32.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mikeller","name":"Michael Keller","path":"/mikeller","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4742747?s=80&v=4"},"commit":{"message":"Merge pull request #52 from mikeller/hw_ostc_mark_inactive_gases","shortMessageHtmlLink":"Merge pull request #52 from mikeller/hw_ostc_mark_inactive_gases"}},{"before":"2879bd69a51d9b5e6f8306ad65c683b549c3affc","after":"3e39cb427a381b5ac20b94911399557e844e2f8d","ref":"refs/heads/Subsurface-DS9","pushedAt":"2023-07-16T18:32:27.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-15T17:13:22.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:30.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":"3733b87ac964b6eaccdb12d92a7bbcfa3fa448fa","after":"929ce47155e035443b2fc1edc92938ac0ee55279","ref":"refs/heads/Subsurface-DS9","pushedAt":"2023-07-14T16:23:10.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":"436063c74d6b98fee04200819dc39850ab8260e3","after":"3733b87ac964b6eaccdb12d92a7bbcfa3fa448fa","ref":"refs/heads/Subsurface-DS9","pushedAt":"2023-07-08T23:52:41.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":"763fc68741ae8945cd245ba0944538e7e5a4d740","after":"436063c74d6b98fee04200819dc39850ab8260e3","ref":"refs/heads/Subsurface-DS9","pushedAt":"2023-05-27T23:30:01.347Z","pushType":"push","commitsCount":27,"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":"3a2dc6cce4e308d8b1002e9a2b4a713102e4d85e","after":"763fc68741ae8945cd245ba0944538e7e5a4d740","ref":"refs/heads/Subsurface-DS9","pushedAt":"2023-05-27T22:56:38.824Z","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":"Shearwater: Add time synchronisation.\n\nAdd time synchronisation for Shearwater dive computers.\nThis synchronises the local time, which is all that is supported by all\nShearwater models except for the Teric.\nTime synchronisation including the time zone for the Teric still has to\nbe added.\n\nSigned-off-by: Michael Keller ","shortMessageHtmlLink":"Shearwater: Add time synchronisation."}},{"before":"46d4bee8ab2f1f6c8b388b77fe00ddb76be46ce4","after":"3a2dc6cce4e308d8b1002e9a2b4a713102e4d85e","ref":"refs/heads/Subsurface-DS9","pushedAt":"2023-03-29T18:24:53.816Z","pushType":"push","commitsCount":1,"pusher":{"login":"dirkhh","name":"Dirk Hohndel","path":"/dirkhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/237471?s=80&v=4"},"commit":{"message":"Adapt dctool to recent API change\n\nSigned-off-by: Dirk Hohndel ","shortMessageHtmlLink":"Adapt dctool to recent API change"}},{"before":"c288effa010f3327b316ecb258805ff0899e5799","after":"46d4bee8ab2f1f6c8b388b77fe00ddb76be46ce4","ref":"refs/heads/Subsurface-DS9","pushedAt":"2023-03-29T17:34:37.739Z","pushType":"push","commitsCount":1,"pusher":{"login":"dirkhh","name":"Dirk Hohndel","path":"/dirkhh","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/237471?s=80&v=4"},"commit":{"message":"Add option to force overwrite firmware for OSTC4.\n\nIn order to support development of the open source firmware of the\nOSTC4.\nThis is needed in order to be able to install firmware with the same\nversion number multiple times during development and testing.\n\nSigned-off-by: Michael Keller ","shortMessageHtmlLink":"Add option to force overwrite firmware for OSTC4."}},{"before":"543bd58ddd853b99750658ee1137198928640bea","after":"c288effa010f3327b316ecb258805ff0899e5799","ref":"refs/heads/Subsurface-DS9","pushedAt":"2023-03-16T22:13:20.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":"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:14.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":"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":"djE6ks8AAAAERBt8pAA","startCursor":null,"endCursor":null}},"title":"Activity · subsurface/libdc"}