Skip to content

Commit

Permalink
Merge branch 'main' into maint-3.9
Browse files Browse the repository at this point in the history
  • Loading branch information
daniestevez committed May 9, 2022
2 parents 476cf89 + 6ed0ed9 commit 19bb35a
Show file tree
Hide file tree
Showing 157 changed files with 7,139 additions and 7,492 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build-ubuntu-gr310.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ jobs:
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- uses: daniestevez/gr-satellites-ci-action@v2.0.0
- uses: daniestevez/gr-satellites-ci-action@v2.0.1
2 changes: 1 addition & 1 deletion .github/workflows/build-ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ jobs:
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- uses: daniestevez/gr-satellites-ci-action@v1.3.0
- uses: daniestevez/gr-satellites-ci-action@v1.3.1
35 changes: 33 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## Unreleased

## [4.6.0], [3.13.0] - 2022-05-09

### Added
- Support for BDSat
- Support for D-STAR ONE LightSat
- Support for Eaglet-I in BPSK mode
- Support for INS-2TD
- Support for INSPIRESat-1
- Support for OreSat0
- Support for PlantSat
- Support for SanoSat-1
- Support for SUCHAI-3
- New generic CRC blocks
- Telemetry parsing for CSP v2

### Changed
- Improved NRZI decoder block
- Refactor code using CRCs to use the new blocks
- Updated example GRC files to GNU Radio 3.10
- Deprecate Print Header block

### Fixed
- Codec2 UDP sink under GNU Radio 3.9
- KISS server sink under GNU Radio 3.9
- UDP source under GNU Radio 3.10

### Removed
- Leftover files for D-STAR ONE telemetry parser

## [4.5.0], [3.12.0] - 2022-02-19

### Added
Expand Down Expand Up @@ -460,15 +489,17 @@ Large refactor release bringing new functionality and improvements. This is an o
## [1.0.0] - 2018-08-02
First gr-satellites release using semantic versioning

[Unreleased]: https://github.com/daniestevez/gr-satellites/compare/v4.5.0...master
[4.4.0]: https://github.com/daniestevez/gr-satellites/compare/v4.4.0...v4.5.0
[Unreleased]: https://github.com/daniestevez/gr-satellites/compare/v4.6.0...main
[4.6.0]: https://github.com/daniestevez/gr-satellites/compare/v4.5.0...v4.6.0
[4.5.0]: https://github.com/daniestevez/gr-satellites/compare/v4.4.0...v4.5.0
[4.4.0]: https://github.com/daniestevez/gr-satellites/compare/v4.3.1...v4.4.0
[4.3.1]: https://github.com/daniestevez/gr-satellites/compare/v4.3.0...v4.3.1
[4.3.0]: https://github.com/daniestevez/gr-satellites/compare/v4.2.0...v4.3.0
[4.2.0]: https://github.com/daniestevez/gr-satellites/compare/v4.1.0...v4.2.0
[4.1.0]: https://github.com/daniestevez/gr-satellites/compare/v4.0.0...v4.1.0
[4.0.0]: https://github.com/daniestevez/gr-satellites/compare/v4.0.0-rc1...v4.0.0
[4.0.0-rc1]: https://github.com/daniestevez/gr-satellites/compare/v3.7.0...v4.0.0-rc1
[3.13.0]: https://github.com/daniestevez/gr-satellites/compare/v3.12.0...v3.13.0
[3.12.0]: https://github.com/daniestevez/gr-satellites/compare/v3.11.0...v3.12.0
[3.11.0]: https://github.com/daniestevez/gr-satellites/compare/v3.10.1...v3.11.0
[3.10.1]: https://github.com/daniestevez/gr-satellites/compare/v3.10.0...v3.10.1
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/Modules)

# Set the version information here
set(VERSION_MAJOR 4)
set(VERSION_API 5)
set(VERSION_API 6)
set(VERSION_ABI 0)
set(VERSION_PATCH 0)

Expand Down
10 changes: 5 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Contributing to gr-satellites

These guidelines are based on the [contributing guidelines for GNU
Radio](https://github.com/gnuradio/gnuradio/blob/master/CONTRIBUTING.md). Since
Radio](https://github.com/gnuradio/gnuradio/blob/main/CONTRIBUTING.md). Since
gr-satellites is a GNU Radio out-of-tree module, we follow the same guidelines
for consistency wherever it makes sense: coding style, code of conduct, etc.

Expand All @@ -18,7 +18,7 @@ formatting checker, since a large amount of the gr-satellites code base is
Python, we use pycodestyle to check PEP8 formatting. This is part of the
CI pipeline and can be checked locally by running pycodestyle. Note that there
are some [folders that are excluded]
(https://github.com/daniestevez/gr-satellites-pycodestyle-action/blob/master/Dockerfile)
(https://github.com/daniestevez/gr-satellites-pycodestyle-action/blob/main/Dockerfile)
from pycodestyle checking.

## Python or C++?
Expand Down Expand Up @@ -53,7 +53,7 @@ the satellite if the satellite only uses protocols already supported by
gr-satellites. Since most satellites use a custom telemetry format, a new telemetry
parser should be written using
[construct](https://construct.readthedocs.io/). See the
[python/telemetry](https://github.com/daniestevez/gr-satellites/tree/master/python/telemetry)
[python/telemetry](https://github.com/daniestevez/gr-satellites/tree/main/python/telemetry)
folder for some examples, and take note that your new parser should be added
both to `python/telemetry/__index__.py` and to
`python/telemetry/CMakeLists.txt`.
Expand All @@ -62,9 +62,9 @@ For satellites using new or ad-hoc custom protocols, some
[components](https://gr-satellites.readthedocs.io/en/latest/components.html)
will need to be written to support them. Most likely, a new deframer will need
to be written. Examples can be found in
[python/components/deframers](https://github.com/daniestevez/gr-satellites/tree/master/python/components/deframers).
[python/components/deframers](https://github.com/daniestevez/gr-satellites/tree/main/python/components/deframers).

See also the [note to satellite teams] planning to use gr-satellites for their
mission.

[grep1]: https://github.com/gnuradio/greps/blob/master/grep-0001-coding-guidelines.md
[grep1]: https://github.com/gnuradio/greps/blob/main/grep-0001-coding-guidelines.md
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/daniestevez/gr-satellites)](https://github.com/daniestevez/gr-satellites/releases/latest)
[![Conda](https://img.shields.io/conda/v/conda-forge/gnuradio-satellites)](https://anaconda.org/conda-forge/gnuradio-satellites)
[![Read the Docs](https://img.shields.io/readthedocs/gr-satellites)](https://gr-satellites.readthedocs.io/)
[![GitHub license](https://img.shields.io/github/license/daniestevez/gr-satellites)](https://github.com/daniestevez/gr-satellites/blob/master/LICENSE)
[![GitHub license](https://img.shields.io/github/license/daniestevez/gr-satellites)](https://github.com/daniestevez/gr-satellites/blob/main/LICENSE)

gr-satellites is a GNU Radio out-of-tree module encompassing a collection of
telemetry decoders that supports many different Amateur satellites. This
Expand Down Expand Up @@ -55,7 +55,7 @@ gr-satellites:

The repository is organized in the following branches:

* `master` is where the active development happens. From time to time, features
* `main` is where the active development happens. From time to time, features
will be frozen in a new release. This branch is compatible with GNU Radio 3.9
and 3.10.

Expand All @@ -73,7 +73,7 @@ The repository is organized in the following branches:
published. This branch is compatible with GNU Radio 3.7. No changes happen
in this branch any longer.

In general, pull requests should be submitted to `master`.
In general, pull requests should be submitted to `main`.

## Installation

Expand All @@ -96,12 +96,12 @@ check whether a new topic fits better in the issues page or in the discussions p

Satellite teams interested in using gr-satellites for you groundstation
solution, please read
[this note](https://github.com/daniestevez/gr-satellites/blob/master/satellite_teams.md),
[this note](https://github.com/daniestevez/gr-satellites/blob/main/satellite_teams.md),
especially if you will be using Amateur radio spectrum.

## CCSDS TM and TC Space Datalink and SpacePacket blocks

Athanasios Theocharis made under ESA Summer of Code in Space 2019 a collection
of blocks covering several CCSDS blue books. The documentation for this blocks
can be found in
[CCSDS_README.md](https://github.com/daniestevez/gr-satellites/blob/master/CCSDS_README.md).
[CCSDS_README.md](https://github.com/daniestevez/gr-satellites/blob/main/CCSDS_README.md).
22 changes: 16 additions & 6 deletions apps/gr_satellites
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# Copyright 2019-2020 Daniel Estevez <daniel@destevez.net>
# Copyright 2019-2022 Daniel Estevez <daniel@destevez.net>
#
# This file is part of gr-satellites
#
Expand All @@ -13,6 +13,10 @@ import signal
import sys

from gnuradio import gr, blocks, audio

if gr.api_version() != '9':
from gnuradio import network

import satellites.core
import satellites.components.datasources as datasources
from satellites.utils.config import open_config
Expand Down Expand Up @@ -260,14 +264,20 @@ class gr_satellites_top_block(gr.top_block):
def setup_udp_input(self):
if self.options.udp_raw:
size = gr.sizeof_gr_complex if self.options.iq else gr.sizeof_float
self.input = blocks.udp_source(size, self.options.udp_ip,
self.options.udp_port, 1472, False)
self.input = self.udp_source(size)
else:
self.input_int16 = blocks.udp_source(
gr.sizeof_short, self.options.udp_ip, self.options.udp_port,
1472, False)
self.input_int16 = self.udp_source(gr.sizeof_short)
self.setup_input_int16()

def udp_source(self, size):
# The UDP source has been moved in GNU Radio 3.10
if gr.api_version() == '9':
return blocks.udp_source(
size, self.options.udp_ip, self.options.udp_port, 1472, False)
else:
return network.udp_source(
size, 1, self.options.udp_port, 0, 1472, False, False, True)

def setup_input_int16(self):
self.short_to_float = blocks.short_to_float(1, 32767)
self.connect(self.input_int16, self.short_to_float)
Expand Down
6 changes: 6 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
gr-satellites (3.12.0-0) impish; urgency=medium

* Mainstream release v3.12.0

-- <daniel@destevez.net> Sat, 19 Feb 2022 11:00:00 +0000

gr-satellites (3.11.0-0) hirsute; urgency=medium

* Mainstream release v3.11.0
Expand Down
15 changes: 2 additions & 13 deletions docs/doxygen/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,8 @@
# This file was generated by gr_modtool, a tool from the GNU Radio framework
# This file is a part of gr-satellites
#
# GNU Radio is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
# SPDX-License-Identifier: GPL-3.0-or-later
#
# GNU Radio is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Radio; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street,
# Boston, MA 02110-1301, USA.

########################################################################
# Create the doxygen configuration file
Expand All @@ -29,6 +17,7 @@ file(TO_NATIVE_PATH ${CMAKE_BINARY_DIR} abs_top_builddir)
set(HAVE_DOT ${DOXYGEN_DOT_FOUND})
set(enable_html_docs YES)
set(enable_latex_docs NO)
set(enable_mathjax NO)
set(enable_xml_docs YES)

configure_file(
Expand Down
41 changes: 6 additions & 35 deletions docs/doxygen/Doxyfile.in
Original file line number Diff line number Diff line change
Expand Up @@ -199,13 +199,6 @@ TAB_SIZE = 8

ALIASES =

# This tag can be used to specify a number of word-keyword mappings (TCL only).
# A mapping has the form "name=value". For example adding
# "class=itcl::class" will allow you to use the command class in the
# itcl::class meaning.

TCL_SUBST =

# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
# sources only. Doxygen will then generate output that is more tailored for C.
# For instance, some of the names that are used will be different. The list
Expand Down Expand Up @@ -723,8 +716,6 @@ EXCLUDE_PATTERNS = */.deps/* \

EXCLUDE_SYMBOLS = ad9862 \
numpy \
*swig* \
*Swig* \
*my_top_block* \
*my_graph* \
*app_top_block* \
Expand Down Expand Up @@ -790,7 +781,7 @@ INPUT_FILTER =
# info on how filters are used. If FILTER_PATTERNS is empty or if
# non of the patterns match the file name, INPUT_FILTER is applied.

FILTER_PATTERNS = *.py="@top_srcdir@"/doc/doxygen/other/doxypy.py
FILTER_PATTERNS = *.py=@top_srcdir@/docs/doxygen/other/doxypy.py

# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
# INPUT_FILTER) will be used to filter the input files when producing source
Expand Down Expand Up @@ -879,12 +870,6 @@ VERBATIM_HEADERS = YES

ALPHABETICAL_INDEX = YES

# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
# in which this list will be split (can be a number in the range [1..20])

COLS_IN_ALPHA_INDEX = 5

# In case all classes in a project start with a common prefix, all
# classes will be put under the same header in the alphabetical index.
# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
Expand Down Expand Up @@ -1220,14 +1205,14 @@ FORMULA_TRANSPARENT = YES
# output. When enabled you may also need to install MathJax separately and
# configure the path to it using the MATHJAX_RELPATH option.

USE_MATHJAX = NO
USE_MATHJAX = @enable_mathjax@

# When MathJax is enabled you can set the default output format to be used for
# the MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and
# SVG. The default value is HTML-CSS, which is slower, but has the best
# compatibility.

MATHJAX_FORMAT = HTML-CSS
MATHJAX_FORMAT = SVG

# When MathJax is enabled you need to specify the location relative to the
# HTML output directory using the MATHJAX_RELPATH option. The destination
Expand All @@ -1239,12 +1224,12 @@ MATHJAX_FORMAT = HTML-CSS
# However, it is strongly recommended to install a local
# copy of MathJax from http://www.mathjax.org before deployment.

MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
MATHJAX_RELPATH = @MATHJAX2_PATH@

# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
# names that should be enabled during MathJax rendering.

MATHJAX_EXTENSIONS =
MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols

# The MATHJAX_CODEFILE tag can be used to specify a file with javascript
# pieces of code that will be used on startup of the MathJax code.
Expand Down Expand Up @@ -1680,11 +1665,6 @@ EXTERNAL_GROUPS = YES

EXTERNAL_PAGES = YES

# The PERL_PATH should be the absolute path and name of the perl script
# interpreter (i.e. the result of `which perl').

PERL_PATH = /usr/bin/perl

#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
Expand All @@ -1697,15 +1677,6 @@ PERL_PATH = /usr/bin/perl

CLASS_DIAGRAMS = YES

# You can define message sequence charts within doxygen comments using the \msc
# command. Doxygen will then run the mscgen tool (see
# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
# documentation. The MSCGEN_PATH tag allows you to specify the directory where
# the mscgen tool resides. If left empty the tool is assumed to be found in the
# default search path.

MSCGEN_PATH =

# If set to YES, the inheritance and collaboration graphs will hide
# inheritance and usage relations if the target is undocumented
# or is not a class.
Expand Down Expand Up @@ -1834,7 +1805,7 @@ DIRECTORY_GRAPH = YES
# HTML_FILE_EXTENSION to xhtml in order to make the SVG files
# visible in IE 9+ (other browsers do not have this requirement).

DOT_IMAGE_FORMAT = png
DOT_IMAGE_FORMAT = svg

# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
# enable generation of interactive SVG images that allow zooming and panning.
Expand Down

0 comments on commit 19bb35a

Please sign in to comment.