OreSat GPS OLAF app
Project description
OreSat GPS Software
OreSat GPS software runs the OreSat GPS card and publishes navigation data to the satellite over CANopen. It is designed to hide receiver-specific details and provide a consistent interface for the rest of the flight software.
This app targets custom OreSat GPS hardware (oresat-gps-hardware) and supports two reception paths on the card:
- SkyTraq Orion B16 (current operational path)
- MAX2771 SDR path (hardware present; software path not yet implemented in this repo)
The CANopen-facing interface provides GPS-derived data such as position, velocity, fix quality, satellites-in-view, and time fields used by other systems. During development, you can inspect CAN traffic with tools like candump and interact with objects through standard CANopen tooling.
GPS is also used as a high-quality time reference. When a valid fix is available, the app can synchronize system time so other spacecraft services share a common clock base for telemetry correlation, event ordering, and time-sensitive control loops.
In the wider satellite stack, this data is consumed by components like ADCS and mission operations pipelines for state estimation, timeline reconstruction, and post-pass analysis.
Like other OreSat apps, this project is built on OLAF. When running locally, OLAF's debug interface is available at http://localhost:8000, including a GPS page at http://localhost:8000/skytraq.
Quick Start
Install dependencies.
pip3 install . --group dev
Make a virtual CAN bus.
sudo ip link add dev vcan0 type vcan
sudo ip link set vcan0 up
Run the GPS app.
python3 -m oresat_gps
Select the CAN bus to use (vcan0, can0, etc) with the -b BUS arg.
Mock hardware by using the -m HARDWARE flag.
- The
-m allflag can be used to mock all hardware (CAN bus is always required). - The
-m skytraqflag would only mock the skytraq
See other options with -h flag.
A basic Flask-based website for development and integration can be found at
http://localhost:8000 when the software is running.
Architecture Notes
Low-level receiver protocol details are intentionally abstracted behind the app interface, but for maintainers:
- The SkyTraq path is implemented in a userspace driver at
oresat_gps/skytraq.py. - Host-to-SkyTraq commands use the SkyTraq binary protocol (see AN0037).
- SkyTraq navigation reports are parsed and mapped into CANopen object dictionary entries.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oresat_gps-1.5.0.tar.gz.
File metadata
- Download URL: oresat_gps-1.5.0.tar.gz
- Upload date:
- Size: 26.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10b65ed3bf9929688c3ca86d80df8c19094a0608ed3ea5823b61c7c105461289
|
|
| MD5 |
9b6847d8e06e3128efe211b602ea693d
|
|
| BLAKE2b-256 |
a99bd86a06e069c88f30f2daedabe220fe7fa4eea79b65c79b956a42de7e4feb
|
Provenance
The following attestation bundles were made for oresat_gps-1.5.0.tar.gz:
Publisher:
pypi.yaml on oresat/oresat-gps-software
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
oresat_gps-1.5.0.tar.gz -
Subject digest:
10b65ed3bf9929688c3ca86d80df8c19094a0608ed3ea5823b61c7c105461289 - Sigstore transparency entry: 1755049911
- Sigstore integration time:
-
Permalink:
oresat/oresat-gps-software@9d69116918f83b97dcc1704c1fd935692e74c15f -
Branch / Tag:
refs/tags/v1.5.0 - Owner: https://github.com/oresat
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yaml@9d69116918f83b97dcc1704c1fd935692e74c15f -
Trigger Event:
release
-
Statement type:
File details
Details for the file oresat_gps-1.5.0-py3-none-any.whl.
File metadata
- Download URL: oresat_gps-1.5.0-py3-none-any.whl
- Upload date:
- Size: 24.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
137b29992c9ffc97570adc6ac47d8546cafe98797d47445ea4aeb76863c83bd7
|
|
| MD5 |
8a4c69071abf6f9e05a39b35e136f295
|
|
| BLAKE2b-256 |
89141e4cd52644f2643195c1810486a7bc6d839d7b8c1f2e3d54710151cbe6b4
|
Provenance
The following attestation bundles were made for oresat_gps-1.5.0-py3-none-any.whl:
Publisher:
pypi.yaml on oresat/oresat-gps-software
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
oresat_gps-1.5.0-py3-none-any.whl -
Subject digest:
137b29992c9ffc97570adc6ac47d8546cafe98797d47445ea4aeb76863c83bd7 - Sigstore transparency entry: 1755049945
- Sigstore integration time:
-
Permalink:
oresat/oresat-gps-software@9d69116918f83b97dcc1704c1fd935692e74c15f -
Branch / Tag:
refs/tags/v1.5.0 - Owner: https://github.com/oresat
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yaml@9d69116918f83b97dcc1704c1fd935692e74c15f -
Trigger Event:
release
-
Statement type: