Difference between revisions of "SatNOGS Client Development"

From SatNOGS Wiki
m (category)
(satnogs-client)
Line 23: Line 23:
  
 
== satnogs-client ==
 
== satnogs-client ==
The [https://gitlab.com/librespacefoundation/satnogs/satnogs-client satnogs-client] is a python package, and gets installed by satnogs-setup in a python virtual environment using [https://pip.pypa.io pip].
+
The [https://gitlab.com/librespacefoundation/satnogs/satnogs-client satnogs-client] is a python package, and gets installed by satnogs-setup in a python virtual environment using [https://pip.pypa.io/ pip]. The development branch currently is <code>master</code> and if there is a need commits should be ported on branch <code>0</code>.
The development branch for the current releases 0.x is named <code>0</code>. It's the original client implementation and features a local web interface.
+
 
A new implementation which aimed at a more modular architecture and doesn't include the local web interface anymore is developed in the <code>master</code> branch (currently stale as of 2018-07-13).
+
Branch <code>0</code> It's the original client implementation and features a local web interface. A new implementation which aimed at a more modular architecture and doesn't include the local web interface anymore is developed in the <code>master</code> branch.
  
 
Please note that satnogs-client and gr-satnogs must be installed in compatible versions, due to (frequent) changes in the arguments available in the demodulation scripts, see [[Compatibility]].
 
Please note that satnogs-client and gr-satnogs must be installed in compatible versions, due to (frequent) changes in the arguments available in the demodulation scripts, see [[Compatibility]].

Revision as of 12:16, 8 March 2019

Intro

This page describes the setup of a development environment for the SatNOGS ground station reference setup based on satnogs-client-ansible. It is assumed you have already setup your ground station as explained in SatNOGS_Client_Ansible.

gr-satnogs and gr-satnogs-package

The gnuradio Out-Of-Tree module gr-satnogs is packaged by gr-satnogs-package. The gitlab-CI automatically builds the package in docker containers as nightlies and on each release (git-tag, e.g. gr-satnogs_1.3-1_armhf.deb), configured by the .gitlab-ci.yml.

To use a modified gr-satnogs module on a SatNOGS ground station, it’s recommended to build it using the gr-satnogs-package scripts. Otherwise you can build gr-satnogs manually and adjust the installation paths to match the paths specified by gr-satnogs-package.

Building gr-satnogs with gr-satnogs-package can be automated via gitlab-CI, so that binary releases of your modified gr-satnogs module are available to download and install by the satnogs-client-ansible scripts (satnogs-setup).

Steps.

  • Fork gr-satnogs
  • Fork gr-satnogs-package
  • Adjust the repository url of gr-satnogs in gr-satnogs-package/debian/debian/rules#L22
  • Adjust the repository url in the version detection in gr-satnogs-package/.gitlab-ci.yml#L13 ,#L30 ,#L47
  • Wait for the gitlab-CI to build your first version of gr-satnogs-package (~45 min)
  • Install your freshly built gr-satnogs-package by pointing the SATNOGS_RADIO_GR_SATNOGS_PACKAGE in satnogs-setup to the built artifact/debian package of your architecture (e.g. armhf, amd64). The build artifacts are available in your gr-satnogs-package fork by clicking CI/CD, selecting there the latest pipeline, the latest build-job and then in the right column Browse, path build/debian/output/$your_arch/gr-satnogs_$your_arch.deb

satnogs-client

The satnogs-client is a python package, and gets installed by satnogs-setup in a python virtual environment using pip. The development branch currently is master and if there is a need commits should be ported on branch 0.

Branch 0 It's the original client implementation and features a local web interface. A new implementation which aimed at a more modular architecture and doesn't include the local web interface anymore is developed in the master branch.

Please note that satnogs-client and gr-satnogs must be installed in compatible versions, due to (frequent) changes in the arguments available in the demodulation scripts, see Compatibility.

Steps.

TODO.