{"id":19389271,"url":"https://github.com/bwolf/gpsd_proto","last_synced_at":"2025-04-24T00:30:48.564Z","repository":{"id":62439705,"uuid":"152330335","full_name":"bwolf/gpsd_proto","owner":"bwolf","description":"The `gpsd_proto` module contains types and functions to connect to gpsd to get GPS coordinates and satellite information.","archived":false,"fork":false,"pushed_at":"2025-03-20T17:47:45.000Z","size":80,"stargazers_count":13,"open_issues_count":6,"forks_count":10,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-19T10:55:03.823Z","etag":null,"topics":["gps","gpsd","gpsd-proto","protocol","rust","satellite-information"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bwolf.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":"2018-10-09T22:33:20.000Z","updated_at":"2025-02-21T16:35:10.000Z","dependencies_parsed_at":"2024-06-25T17:11:06.834Z","dependency_job_id":null,"html_url":"https://github.com/bwolf/gpsd_proto","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwolf%2Fgpsd_proto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwolf%2Fgpsd_proto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwolf%2Fgpsd_proto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bwolf%2Fgpsd_proto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bwolf","download_url":"https://codeload.github.com/bwolf/gpsd_proto/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250539294,"owners_count":21447283,"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","gpsd","gpsd-proto","protocol","rust","satellite-information"],"created_at":"2024-11-10T10:15:45.285Z","updated_at":"2025-04-24T00:30:48.249Z","avatar_url":"https://github.com/bwolf.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gpsd_proto \u0026emsp; [![Build Status]][travis] [![Latest Version]][crates.io] [![Latest Docs]][docs.rs] [![Coverage Status]][codecov.io]\n\n[Build Status]: https://travis-ci.org/bwolf/gpsd_proto.svg?branch=master\n[travis]: https://travis-ci.org/bwolf/gpsd_proto\n[Latest Version]: https://meritbadge.herokuapp.com/gpsd_proto\n[crates.io]: https://crates.io/crates/gpsd_proto\n[Latest Docs]: https://docs.rs/gpsd_proto/badge.svg\n[docs.rs]: https://docs.rs/gpsd_proto/\n[Coverage Status]: https://codecov.io/gh/bwolf/gpsd_proto/branch/master/graph/badge.svg\n[codecov.io]: https://codecov.io/gh/bwolf/gpsd_proto\n\n\u003c!--- Module documentation of src/lib.rs follows ---\u003e\n\nThe `gpsd_proto` module contains types and functions to connect to\n[gpsd](http://catb.org/gpsd/) to get GPS coordinates and satellite\ninformation.\n\n`gpsd_proto` uses a plain TCP socket to connect to `gpsd`, reads\nand writes JSON messages. The main motivation to create this crate\nwas independence from C libraries, like `libgps` (provided by\n`gpsd`) to ease cross compiling.\n\nA example demo application is provided in the `example` sub\ndirectory. Check the repository for up to date sample code.\n\n# Testing\n\n`gpsd_proto` has been tested against `gpsd` version 3.17 on macOS and Linux with these devices:\n\n- [Adafruit Ultimate GPS Breakout - PA1616S](https://www.adafruit.com/product/746)\n- [Quectel EC25 Mini](https://www.quectel.com/product/ec25minipcie.htm) PCIe 4G/LTE Module\n- [u-blox MAX-M8Q](https://www.u-blox.com/en/product/max-m8-series)\n- GPS mice (Adopt SkyTraQ Venus 8)\n- iOS app [GPS2IP](http://www.capsicumdreams.com/iphone/gps2ip/).\n\nFeel free to report any other supported GPS by opening a GitHub\nissue.\n\n# Reference documentation\n\nImportant reference documentation of `gpsd` are the [JSON\nprotocol](http://www.catb.org/gpsd/gpsd_json.html) and the [client\nHOWTO](http://catb.org/gpsd/client-howto.html).\n\n# Development notes\n\nStart `gpsd` with a real GPS device:\n\n```sh\n/usr/local/sbin/gpsd -N -D4 /dev/tty.SLAB_USBtoUART\n```\n\nOr start [gpsd](http://catb.org/gpsd/gpsd.html) with a TCP stream to a remote GPS:\n\n```sh\n/usr/local/sbin/gpsd -N -D2 tcp://\u003cIP\u003e:\u003cPORT\u003e\n```\n\nTest the connection to `gpsd` with `telnet localhost 2947` and send the string:\n\n```text\n?WATCH={\"enable\":true,\"json\":true};\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbwolf%2Fgpsd_proto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbwolf%2Fgpsd_proto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbwolf%2Fgpsd_proto/lists"}