{"id":15068131,"url":"https://github.com/elecgeek/healthmeter","last_synced_at":"2026-01-02T20:37:36.538Z","repository":{"id":247228184,"uuid":"825291528","full_name":"ElecGeek/HealthMeter","owner":"ElecGeek","description":"Converts the binary file (.DAT) into a more readable and makes some statistics for health or sport meters.","archived":false,"fork":false,"pushed_at":"2024-08-08T20:04:48.000Z","size":50,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-16T06:12:24.326Z","etag":null,"topics":["cplusplus","cplusplus-17","data-processing","healthcare"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ElecGeek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-07T11:28:39.000Z","updated_at":"2024-08-08T20:04:52.000Z","dependencies_parsed_at":"2024-07-23T11:33:00.879Z","dependency_job_id":null,"html_url":"https://github.com/ElecGeek/HealthMeter","commit_stats":null,"previous_names":["elecgeek/healthmeter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElecGeek%2FHealthMeter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElecGeek%2FHealthMeter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElecGeek%2FHealthMeter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ElecGeek%2FHealthMeter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ElecGeek","download_url":"https://codeload.github.com/ElecGeek/HealthMeter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243830951,"owners_count":20354854,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cplusplus","cplusplus-17","data-processing","healthcare"],"created_at":"2024-09-25T01:31:08.677Z","updated_at":"2026-01-02T20:37:36.499Z","avatar_url":"https://github.com/ElecGeek.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"For the whose has an health or sport meter with the properties:\n* can be connected with a (micro) usb that exposes a disk containing a data file.\n* the file is a concatenation of measurements, until the meter's memory is full (and has to be erased from the device).\n* the measurement binary files:\n  * contains some data\n  * contains records separated by a series of $ff (odd or even)\n    * the header\n    * the record number\n    * some data\n    * the date and time as plain char numbers (only from 0 to 12, 23, 31 or 59 are used)\n    * some data\n    * the sampling rate as the time, in seconds, between two samples.\n    * some data\n      * contains a data zone that can read as a raw file 8bits, signed, 2 channels\n      * this data is between 0 and 100\n  * terminates with a set of $ff\n  * contains some data\n\nThis project is for him.\n\n\n\n\nThe project process:\n* the parsing of the arguments to get the files names\n  * if no file-name is provided at all, the default one is used\n  * if at least one is provided, it or they are processed\n* the reading of these binary files in the same order\n* some statistics. They are sent to the standard output as:\n  * the record number\n  * some data in debug mode only\n  * the date\n  * the time\n  * the record length in minutes\n  * the min, max and average\n  * many percent of the time the value is under a certain threshold\n* a file-name based on the first record time-stamp for each input file.\n* a raw file, of that file-name, intended to be open by most of the music editing software.\n  * a record limit containing the time-stamp in the 2 channels. It has been design to not be confused with the record themselves\n    * 100% sample\n    * date\n    * 0%\n    * time\n    * 100% sample\n\tThe user has to zoom at the maximum to see the samples individually.\n    The numbers (between 0 and 59) are coded as 2 samples. One is for the left digit, one for the right. They are multiplied by 10%. e.g. 52 is 50% 20%.\n  * the data converted from 0 to 100% into 0 to 127. By this way, the editing software shows 100% for a 100% measure.\n\nAn additional feature applies if a record follows the previous one exactly one hour later:\n* the statistics display the time only, not the date.\n* the record limit, in the raw file, are omitted.\n\nAll the interfaces with the machine are done via the C++11 features. The project should compile by a simple \"make\" invocation.\nThe Makefile supports the SOURCEDIR, BUILDDIR, DESTDIR, CXX, CXXFLAGS and LDFLAGS variables for cross-compilation. \n\n\n\nIt compiles on Ubuntu, Windows and MacOS-X\nThere is a work-flow to build standard versions. For specific versions, such as default names, one has to build himself.\n\n\n\nTODO or never: handle properly the new year and fix the bug that does not merge the records in the new year night.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felecgeek%2Fhealthmeter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felecgeek%2Fhealthmeter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felecgeek%2Fhealthmeter/lists"}