Software contribution
If you are skilled in Python, Web Development (CSS/JS), or gnuradio we need your help! To find out how to help see each module below. You can also find us on our forum or on irc/matrix in #satnogs-dev
SatNOGS Client
Skills required: Python
The SatNOGS client is written in Python, targeting raspberry pi as the reference architecture. It interfaces with the following applications:
- rotctld (Rotator control, part of hamlib)
- rigctld (Rig frequency control, part of hamlib)
- gr-satnogs (custom SatNOGS gnuradio scripts)
Architecture documentation: https://docs.satnogs.org/projects/satnogs-client/en/stable/architecture.html
Code repository: https://gitlab.com/librespacefoundation/satnogs/satnogs-client
Dev setup guide: SatNOGS_Client_Development#satnogs-client
Note that development happens on the "0" branch, with periodic merges to master for release; PRs should be submitted against the "0" branch.
SatNOGS Client image / setup script
Skills required: Linux administration, .deb packaging, Ansible
We provide a custom raspbian image for Raspberry Pi using pi-gen and a satnogs-setup script that configures the client via Ansible. In addition we package gr-satnogs as a .deb through GitLab CI. If you would like to help out check out our repositories below:
- pi-gen repository: https://gitlab.com/librespacefoundation/satnogs/satnogs-pi-gen
- gr-satnogs .deb repository: https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package
- satnogs-setup ansible repository: https://gitlab.com/librespacefoundation/satnogs/satnogs-client-ansible
gr-satnogs
Skills required: gnuradio companion, C/C++, SDR
If you are skilled in writing custom gnuradio modules/blocks or piecing together gnuradio scripts in gnuradio-companion then gr-satnogs can use your help!
Code repository: https://gitlab.com/librespacefoundation/satnogs/gr-satnogs
Dev setup guide: SatNOGS_Client_Development#gr-satnogs_and_gr-satnogs-package
SatNOGS DB
Skills required: Python / Django / CSS
The SatNOGS DB is written in Django (a Python web framework).
Installation documentation: https://docs.satnogs.org/en/stable/satnogs-db/docs/installation.html
Contribute documentation: https://docs.satnogs.org/en/stable/satnogs-db/docs/contribute.html
API documentation: https://docs.satnogs.org/en/stable/satnogs-db/docs/api.html
Code repository: https://gitlab.com/librespacefoundation/satnogs/satnogs-db
SatNOGS Network
Skills required: Python / Django / CSS / JS
The SatNOGS Network is written in Django (a Python web framework), and makes heavier use of javascript and d3.js for scheduling and visualizations.
Installation documentation: https://docs.satnogs.org/en/stable/satnogs-network/docs/installation.html
Contribute documentation: https://docs.satnogs.org/en/stable/satnogs-network/docs/contribute.html
Code repository: https://gitlab.com/librespacefoundation/satnogs/satnogs-network