{"id":26965588,"url":"https://github.com/zubax/gridsens_gs2","last_synced_at":"2025-04-03T07:30:10.008Z","repository":{"id":15068451,"uuid":"17794746","full_name":"Zubax/gridsens_gs2","owner":"Zubax","description":"Zubax GNSS module","archived":false,"fork":false,"pushed_at":"2024-08-21T15:15:10.000Z","size":30375,"stargazers_count":49,"open_issues_count":3,"forks_count":57,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-08-22T17:30:25.595Z","etag":null,"topics":["drone","dronecode","glonass","gnss","gps","uav","uavcan","zubax"],"latest_commit_sha":null,"homepage":"https://zubax.com/products/gnss_2","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/Zubax.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":"2014-03-16T08:00:49.000Z","updated_at":"2024-08-21T15:15:14.000Z","dependencies_parsed_at":"2024-08-21T17:25:24.408Z","dependency_job_id":null,"html_url":"https://github.com/Zubax/gridsens_gs2","commit_stats":null,"previous_names":["zubax/gridsens_gs2"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zubax%2Fgridsens_gs2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zubax%2Fgridsens_gs2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zubax%2Fgridsens_gs2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zubax%2Fgridsens_gs2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Zubax","download_url":"https://codeload.github.com/Zubax/gridsens_gs2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246955827,"owners_count":20860366,"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":["drone","dronecode","glonass","gnss","gps","uav","uavcan","zubax"],"created_at":"2025-04-03T07:30:09.394Z","updated_at":"2025-04-03T07:30:09.967Z","avatar_url":"https://github.com/Zubax.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"GridSens GS2 / Zubax GNSS\n==========\n\n[![Forum](https://img.shields.io/discourse/https/forum.zubax.com/users.svg?color=e00000)](https://forum.zubax.com)\n[![Forum](https://img.shields.io/discourse/https/forum.opencyphal.org/users.svg?color=1700b3)](https://forum.opencyphal.org)\n\nZubax GNSS 2 is a multipurpose high-performance positioning module interfaced via CAN bus, USB, and UART.\nIt includes a state-of-the-art multi-system concurrent GPS+GLONASS+Galileo receiver,\na high-precision barometric altimeter, and a 3-axis compass with thermal compensation.\nZubax GNSS 2 supports a variety of standard protocols, which ensure compatibility with most of existing\nsoftware and hardware: [UAVCAN](http://uavcan.org) (over CAN bus), NMEA 0183 (over USB and UART),\nand u-Blox M8 protocol.\n\n[**ZUBAX GNSS HOMEPAGE**](https://zubax.com/products/gnss_2)\n\nFor the production testing instructions please refer to `tools/drwatson`.\n\n## Revisions\n\nThe following table documents existing modifications of Zubax GNSS hardware and compatible firmware versions.\n\nHardware                        | Compatible firmware versions  | Branch\n--------------------------------|-------------------------------|----------------------------\nZubax GNSS v1 (year 2014)       | 1.x, 2.x                      | `release_1.0`, `release_2.0`\nZubax GNSS v2.1 (year 2015)     | 3.x                           | `release_3.0`\nZubax GNSS v2.2 (year 2017)     | 4.x                           | `master`\nZubax GNSS v2.3 (year 2019)     | 4.x, x≥1                      | see v2.2\nZubax GNSS v2.4 (year 2023)     | 4.x, x≥1                      | see v2.2\n\nPlease check out the corresponding branch to see instructions specific for your firmware version.\nMaster branch always contains the newest version of firmware and it may be unstable.\n\n## Release notes\n\nNewest entries at the top.\nAdditional information is available upon request to \u003cquality@zubax.com\u003e.\n\n### Zubax GNSS v2.4\n\n* Replace the NVRAM/RTC backup supercapacitor because the original model is no longer available outside the US.\n  The height of the new supercapacitor is 8.5 mm while the old model is 5.5 mm tall;\n  hence, the total height of the device is increased by 3 mm.\n* Replace passive components that have reached the end-of-life with fully functionally equivalent alternatives.\n\n### Zubax GNSS v2.3\n\n* Upgrade the RF front-end to use a higher-performance LNA.\n* Switch most of the design to AEC-Q qualified components.\n\n### Zubax GNSS v2.2, firmware v4.1\n\n* Added support for Galileo, since the system is now operational.\nNow, Zubax GNSS 2 utilizes GPS+GLONASS+Galileo concurrently.\n* Added a configuration parameter that allows the user to change the dynamic model of the vehicle.\nThree options are available: Automotive, Sea, Airborne. Airborne is chosen by default.\n* Bootloader updated to version 1.1, where the field naming issue in `zubax_id` was resolved.\n* Static UAVCAN node ID setting takes precedence over the value provided by the bootloader.\n\n### Zubax GNSS v2.2, firmware v4.0\n\n* New GNSS RF front-end enables even better noise rejection and sensitivity.\n* Improved power supply noise filtering.\n* New compass: LIS3MDL instead of HMC5983.\n* Using Zubax Embedded Bootloader instead of the old PX4 UAVCAN bootloader.\nThe new bootloader supports USB, UART, and CAN interfaces for firmware update purposes.\nSupported protocols are UAVCAN over CAN, and YMODEM/XMODEM/XMODEM-1K over USB and UART.\n* Faster sensor update rates.\n* Static temperature publishing rate is fixed at 1/5th of the static pressure publishing rate.\n\n### Zubax GNSS v2.1, firmware v3.2\n\n* Increased the default and the maximum compass publishing rate to 100 Hz.\n* Magnetometer output is processed through a three sample long median filter in order to work-around a bug in the\nHMC5983 sensor which causes it to periodically provide single erroneous measurements.\n\n### Zubax GNSS v2.1, firmware v3.1\n\n* Added an optional magnetic field rescaling feature in order to work around improper scale handling in some autopilots.\n\n## Bootloader\n\nThe Zubax Embedded Bootloader allows the end user to upgrade the firmware via\nUSB (YMODEM/XMODEM/XMODEM-1K), UART (YMODEM/XMODEM/XMODEM-1K), or CAN (UAVCAN).\nThe sources of the bootloader are located in the dedicated directory.\nNo special steps are needed in order to build it - the makefile will build it automatically as needed.\nPlease refer to the official documentation in order to learn more about the bootloader and how to use it.\n\nThe bootloader can be flashed either independently, or as a combined image together with the application (see below).\n\n## Building the firmware\n\nYou will need a GNU/Linux distribution to build the firmware.\n\n* Install the ARM GCC toolchain version 7.3.1.\n* Init the sources:\n```shell\ngit submodule update --init --recursive\n```\n* Build:\n```shell\ncd firmware\nmake binaries RELEASE=1 # RELEASE is optional; omit to build the debug version\n```\n\nThe steps above will produce the following outputs in the build output directory:\n\n* `com.zubax.*.application.bin` - application binary suitable for bootloading, with the correct application descriptor.\n* `com.zubax.*.compound.bin` - above image combined with the bootloader; can be flashed on an empty MCU.\n* `compound.elf` - ELF file with embedded bootloader and correct application descriptor; can be used for symbol\ndebugging. Since this ELF includes the bootloader and has correct application descriptor,\nit can be flashed and executed directly with an SWD debugger, no extra steps required.\n\n## Loading the firmware\n\n### Using in-circuit debuggers\n\nAvialable loaders:\n\n```shell\ncd ./zubax_chibios/tools\n\n./blackmagic_flash.sh   # Black Magic Debug Probe\n./stlink_flash.sh       # ST-Link v2\n```\n\n### Using the bootloader\n\nPlease refer to the official documentation.\n\n## License\n\nThe firmware is licensed under the terms of GNU GPL v3.\n\n\u003e Copyright (C) 2015 Zubax Robotics info@zubax.com\n\u003e\n\u003e This program is free software: you can redistribute it and/or modify it under the terms of the\n\u003e GNU General Public License as published by the Free Software Foundation, either version 3 of the License,\n\u003e or (at your option) any later version.\n\u003e\n\u003e This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;\n\u003e without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\u003e See the GNU General Public License for more details.\n\u003e\n\u003e You should have received a copy of the GNU General Public License along with this program.\n\u003e If not, see http://www.gnu.org/licenses/.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzubax%2Fgridsens_gs2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzubax%2Fgridsens_gs2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzubax%2Fgridsens_gs2/lists"}