Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/swift-nav/libswiftnav
A portable C library implementing GNSS related functions and algorithms.
https://github.com/swift-nav/libswiftnav
Last synced: 18 days ago
JSON representation
A portable C library implementing GNSS related functions and algorithms.
- Host: GitHub
- URL: https://github.com/swift-nav/libswiftnav
- Owner: swift-nav
- License: lgpl-3.0
- Created: 2020-11-23T21:42:00.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2023-11-09T13:48:58.000Z (about 1 year ago)
- Last Synced: 2024-08-30T23:51:20.870Z (2 months ago)
- Language: C++
- Homepage:
- Size: 5.9 MB
- Stars: 17
- Watchers: 6
- Forks: 20
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![CI](https://github.com/swift-nav/libswiftnav/actions/workflows/ci.yaml/badge.svg)](https://github.com/swift-nav/libswiftnav/actions/workflows/ci.yaml)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=swift-nav_libswiftnav&metric=alert_status)](https://sonarcloud.io/dashboard?id=swift-nav_libswiftnav)libswiftnav
===========Libswiftnav (LSN) is a platform independent library that implements GNSS utility functions for use by software-defined GNSS receivers or software requiring GNSS functionality. It is intended to be as portable as possible and is written in standards compliant C with no dependancies
LSN does not provide any functionality for communicating with Swift Navigation receivers. See [libsbp](https://github.com/swift-nav/libsbp) to communicate with receivers using Swift Binary Protocol (SBP).
To checkout the library run the following commands in an appropriate directory
```
git clone [email protected]:swift-nav/libswiftnav.git
```
Which should checkout the source code### Build
To build the library, run the following commands from the LSN root directory - LSN depends on the latest xcode for MacOSX and cmake
```
mkdir ./build
cd ./build
cmake ../
make -j4
```# Build on Docker
The `libswiftnav` docker image is using a ECR-hosted base image `swift-build` that contains most swift build tools.
#### Get `swift-build` base image from ECR
To be able to pull this base image from ECR, you need to log into AWS (select the SSO-Build-User role) and then into
ECR:aws-google-auth -S 115297745755 -I C02x4yyeb -p default -a -u @swift-nav.com
$(aws ecr get-login --no-include-email --region us-west-2 --registry-ids 571934480752)#### Build the `swift-build` base image yourself (without ECR)
Alternatively to the AWS/ECR pull, you can build the base image yourself from the Dockerfile.base:
(replace \ with the one used by Dockerfile's FROM statement, e.g. 2018-12-20)docker build -t 571934480752.dkr.ecr.us-west-2.amazonaws.com/swift-build: modules/docker-recipes/swift-build
### Build the `libswiftnav` image and run container
Now you can build and run the libswiftnav image with
docker-compose build libswiftnav
docker-compose run libswiftnav#### Run a shell in docker
make docker
- Starts a shell in a container, with the workspace mounted as /mnt/workspace.
#### Run build in docker
make docker-build
#### Run clang-formatmake docker-lint