{"id":26151950,"url":"https://github.com/abougouffa/m2hpf","last_synced_at":"2026-03-08T09:31:54.525Z","repository":{"id":77740026,"uuid":"189491572","full_name":"abougouffa/m2hpf","owner":"abougouffa","description":"HPF - DT High Performance File Format high speed decoding library, aka. a library to read Delsys EMGworks *.hpf files","archived":false,"fork":false,"pushed_at":"2023-04-08T22:15:01.000Z","size":85,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-10-20T16:06:20.448Z","etag":null,"topics":["delsys","emgworks","high-performance-file-format","hpf","modula-2"],"latest_commit_sha":null,"homepage":"","language":"Modula-2","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abougouffa.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}},"created_at":"2019-05-30T22:39:35.000Z","updated_at":"2023-10-20T16:06:21.436Z","dependencies_parsed_at":"2023-10-20T16:16:59.970Z","dependency_job_id":null,"html_url":"https://github.com/abougouffa/m2hpf","commit_stats":null,"previous_names":[],"tags_count":1,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abougouffa%2Fm2hpf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abougouffa%2Fm2hpf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abougouffa%2Fm2hpf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abougouffa%2Fm2hpf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abougouffa","download_url":"https://codeload.github.com/abougouffa/m2hpf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242988048,"owners_count":20217538,"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":["delsys","emgworks","high-performance-file-format","hpf","modula-2"],"created_at":"2025-03-11T06:55:14.945Z","updated_at":"2026-03-08T09:31:54.493Z","avatar_url":"https://github.com/abougouffa.png","language":"Modula-2","funding_links":[],"categories":[],"sub_categories":[],"readme":"# m2hpf\n### *HPF - DT High Performance File Format* high speed decoding library (for the Modula-2 programming language)\n\nThe current version of `m2hpf` only support **reading** *.hpf files. It cannot be used to write files in HPF format.\n\nThis implementation is based on the DT HPF file format, which is described in a document I found [some where on the internet](https://forums.ni.com/ni/attachments/ni/170/813238/1/high_performance_file_format_spec%5B1%5D.pdf) entitled **DT High Performance File Format Specification.**\n\nCopyrighted as:\n```\nDT High Performance File Format Specification\n_______________________________\nDocument Number: 22760, Rev A\nCopyright © 2007 Data Translation, Inc. All rights reserved.\n_______________________________\nData Translation, Inc.\n100 Locke Drive\nMarlborough, MA 01752-1192, USA\nTelephone (508) 481-3700\nHome Page http://www.datatranslation.com/\n```\n\n---\n\nThe `m2hpf` library implements a slightly modified version of the format described in the document above,\nit has been written to support the actual format of [Delsys EMGworks](https://www.delsys.com) signals.\n\nThis library is made to provide quick data access, to be used in a real-time signal processing project. For example; using this library to implement a *HPF to CSV* file converter will be much more efficient than using the *Delsys File Utility*.\n\nThe library has been written in Modula-2 and it is published under the LGPL-3.0 license.\n\n### Compiling `m2hpf`\n`m2hpf` has been tested on the **[ADW Modula-2](https://www.modula2.org/adwm2/)** compiler on a Win 32-bit target.\n\nThe `m2hpf` is implemented using the Modula-2 ISO standard, but uses some ADW Modula-2 language extensions and the specific compiler directive `\u003c*/PACK*\u003e` in `HPFFile.def`.\n\nFor this implementation to work also with another ISO compliant compiler, you need to find an equivalent directive to `\u003c*/PACK*\u003e` for your compiler. You will need to modify the `HPFFile.def` to use the equivalent directive, and modify some ADW Modula-2 specific code, like in the hard-coded values in the [`CHUNK_ID`](https://github.com/abougouffa/m2hpf/blob/master/def/HPFFile.def#L62-L68) enumeration.\n\nFor example, in **[GNU Modula-2](https://www.nongnu.org/gm2/homepage.html)**, there is an equivalent [`\u003c* bytealignment (x) *\u003e` pragma](https://www.nongnu.org/gm2/12/packed.html) to implement the packed types. However, you still need to modify the code yourself, and find an alternative way to deal with the hard-coded enumerations issue.\n\n---\n\n**THIS LIBRARY IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND.**\n\nIF YOU WANT USE THIS LIBRARY IN TOUR PROJECT, YOU MAY NEED TO READ THE [FILE FORMAT SPECS DOCUMENT](high_performance_file_format_spec.pdf), SPECIALLY THE STATEMENT ON PAGE 1:\n\n\u003e All rights reserved. No part of this publication may be reproduced, stored in a retrieval\n\u003e system, or transmitted, in any form by any means, electronic, mechanical, photocopying,\n\u003e recording, or otherwise, without the prior written permission of Data Translation, Inc.\n\n\n[Abdelhak Bougouffa](https://abougouffa.github.io) 2019-2021\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabougouffa%2Fm2hpf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabougouffa%2Fm2hpf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabougouffa%2Fm2hpf/lists"}