{"id":13420639,"url":"https://github.com/wdalmut/libgps","last_synced_at":"2025-07-11T08:33:08.412Z","repository":{"id":11839387,"uuid":"14395862","full_name":"wdalmut/libgps","owner":"wdalmut","description":"UART NMEA GPS library for Raspberry Pi","archived":false,"fork":false,"pushed_at":"2014-09-08T19:47:05.000Z","size":480,"stargazers_count":75,"open_issues_count":3,"forks_count":48,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-07-31T22:56:07.894Z","etag":null,"topics":["gps","gps-library","gps-tracker","raspberry","raspberry-pi"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wdalmut.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}},"created_at":"2013-11-14T13:36:34.000Z","updated_at":"2024-04-09T06:50:02.000Z","dependencies_parsed_at":"2022-09-23T02:40:31.058Z","dependency_job_id":null,"html_url":"https://github.com/wdalmut/libgps","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wdalmut%2Flibgps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wdalmut%2Flibgps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wdalmut%2Flibgps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wdalmut%2Flibgps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wdalmut","download_url":"https://codeload.github.com/wdalmut/libgps/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225708278,"owners_count":17511635,"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":["gps","gps-library","gps-tracker","raspberry","raspberry-pi"],"created_at":"2024-07-30T22:01:38.030Z","updated_at":"2024-11-21T10:13:37.783Z","avatar_url":"https://github.com/wdalmut.png","language":"C","funding_links":[],"categories":["TODO scan for Android support in followings"],"sub_categories":[],"readme":"# GPS library\n\nThe GPS library\n\n## Build it\n\nIn order to obtain `libgps.a`\n\n```shell\n$ make\n$ sudo make install\n```\n\n## Use it\n\nThis project is mainly created for Raspberry ARM boards. After you have\ncompiled the source code on the target or cross-compiling you can include it\nin your application\n\n```c\n#include \u003cgps.h\u003e\n```\n\nThe library mainly exposes few methods\n\n * `gps_init` - Initialize the communication\n * `gps_on` - Activate the GPS device\n * `gps_location` - Expose data from GPS (latitude, longitude, speed, course, altitude)\n * `gps_off` - Turn off the GPS device\n\nThis project abstracts all datas and replies in:\n\n * Decimal Degrees for latitudes and logitudes (46.235325, 7.12521)\n   * Not degrees (42° 53' 23.25'' North - 4° 22' 46.3'' West)\n * Knots for speeds\n * Degrees for angles (course)\n * Meters for altitude\n\n### Example - Position logging\n\nCreate a simple `position_logger.c` file (you can find all in the examples folder)\n\n```c\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cgps.h\u003e\n\nint main(void) {\n    // Open\n    gps_init();\n\n    loc_t data;\n\n    while (1) {\n        gps_location(\u0026data);\n\n        printf(\"%lf %lf\\n\", data.latitude, data.longitude);\n    }\n\n    return EXIT_SUCCESS;\n}\n```\n\nCompile it\n\n```shell\n$ gcc -o position_logger position_logger.c -lgps -lm\n```\n\nRun it\n\n```shell\n$ ./position_logger\n```\nYou will see your data directly in console:\n\n```shell\n45.071060 7.646363\n45.071082 7.646385\n45.071078 7.646387\n45.071060 7.646373\n45.071048 7.646358\n45.071052 7.646372\n45.071057 7.646392\n45.071062 7.646397\n45.071062 7.646383\n45.071073 7.646395\n45.071082 7.646403\n45.071082 7.646403\n45.071080 7.646395\n45.071083 7.646392\n45.071088 7.646393\n```\n\nYou can rotate the output to\nfiles\n\n```shell\n$ ./position_logger \u003e\u003e position.log\n```\n\nThat's all...\n\n## Tested components\n\nThis library is tested with:\n\n * Adafruit Ultimate GPS Breakout - 66 channel w/10 Hz updates - Version 3\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwdalmut%2Flibgps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwdalmut%2Flibgps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwdalmut%2Flibgps/lists"}