{"id":21651849,"url":"https://github.com/mignon-p/mercuryapi-corrections","last_synced_at":"2025-04-11T20:30:36.226Z","repository":{"id":141895751,"uuid":"93457350","full_name":"mignon-p/mercuryapi-corrections","owner":"mignon-p","description":"some small patches to ThingMagic's Mercury API","archived":false,"fork":false,"pushed_at":"2017-06-06T00:00:09.000Z","size":320,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-25T16:22:45.498Z","etag":null,"topics":["rfid","thingmagic"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mignon-p.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2017-06-05T23:57:09.000Z","updated_at":"2020-03-04T16:08:58.000Z","dependencies_parsed_at":"2023-03-13T10:27:54.437Z","dependency_job_id":null,"html_url":"https://github.com/mignon-p/mercuryapi-corrections","commit_stats":null,"previous_names":["mignon-p/mercuryapi-corrections"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mignon-p%2Fmercuryapi-corrections","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mignon-p%2Fmercuryapi-corrections/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mignon-p%2Fmercuryapi-corrections/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mignon-p%2Fmercuryapi-corrections/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mignon-p","download_url":"https://codeload.github.com/mignon-p/mercuryapi-corrections/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248476079,"owners_count":21110208,"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":["rfid","thingmagic"],"created_at":"2024-11-25T07:49:51.763Z","updated_at":"2025-04-11T20:30:36.192Z","avatar_url":"https://github.com/mignon-p.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"This repository is a collection of small patches that I (Patrick\nPelletier) have made to ThingMagic's Mercury API.  I have submitted my\npatches to ThingMagic, but I don't know when or whether they'll be\nincluded in the official release, so I'm also making them available\nhere.\n\nThis repo is currently up-to-date with [mercuryapi-1.29.3.34.zip][1].\nThe repo only contains the files from the `c/src/api/` directory of\nthe Mercury API zipfile.\n\nEach topic is on a separate branch, and then they have all been merged\ntogether on master.  Here are the topic branches:\n\n`eintr` - This retries the `select()` operation when it returns\n`EINTR`.  This is always good practice, but it seemed to be necessary\nin my situation to avoid failing with a timeout.  There are probably\nplenty of other places in the API where this should be done, too.\n\n`extern` - This fixes a problem I ran into with\n`isSecureAccessEnabled` being multiply defined, when compiling with\ncabal.  (Strangely, doesn't happen when using ThingMagic's Makefile.)\n\n`host-c-library` - The build failed when `TMR_USE_HOST_C_LIBRARY` was\ndefined.  This fixes that.\n\n`infinite-loop` - This avoids an infinite loop that I ran into, when\nsomehow `readOffSet` was 142, and `dataLength` was 128.  Not sure how\nthat happened, and it probably indicates another bug, but at least\nthis fix prevents going into an infinite loop in that situation.\n\n`metadataflag-size` - `paramSet()` treated `TMR_PARAM_METADATAFLAG` as\n`TMR_TRD_MetadataFlag`, while `paramGet()` treated\n`TMR_PARAM_METADATAFLAG` as `uint16_t`.  Since\n`sizeof(TMR_TRD_MetadataFlag)` is 4 but `sizeof(uint16_t)` is 2, the\nsizes didn't match.  This patch fixes `paramGet()` to also treat it as\n`TMR_TRD_MetadataFlag`.\n\n`mingw-dword-pointer` - Fixes a compiler warning about `warning:\npassing argument 4 of 'ReadFile' from incompatible pointer type\n[-Wincompatible-pointer-types]`.  Somehow the warning was getting\ntreated as an error on Appveyor.\n\n`mingw-snprintf` - Fixes a problem I ran into on MinGW, where\n`sprintf_s()` doesn't seem to work properly, but `snprintf()` does\nwork properly.\n\n`typos` - This just fixes a bunch of small typos I found.\n\n`windows-time` - On Windows, `tmr_gettime_low()` and\n`tmr_gettime_high()` were returning the number of 100-nanosecond units\nsince 1/1/1601, rather than the number of milliseconds since 1/1/1970.\nThis caused the `timestampLow` and `timestampHigh` fields of\n`TMR_TagReadData` to be populated incorrectly.  This patch fixes that\nproblem.\n\n[1]: http://www.thingmagic.com/images/Downloads/software/mercuryapi-1.29.3.34.zip\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmignon-p%2Fmercuryapi-corrections","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmignon-p%2Fmercuryapi-corrections","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmignon-p%2Fmercuryapi-corrections/lists"}