Skip to content

Commit 19bb35a

Browse files
committed
Merge branch 'main' into maint-3.9
2 parents 476cf89 + 6ed0ed9 commit 19bb35a

File tree

157 files changed

+7139
-7492
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

157 files changed

+7139
-7492
lines changed

.github/workflows/build-ubuntu-gr310.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ jobs:
1313
steps:
1414
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
1515
- uses: actions/checkout@v2
16-
- uses: daniestevez/[email protected].0
16+
- uses: daniestevez/[email protected].1

.github/workflows/build-ubuntu.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ jobs:
1313
steps:
1414
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
1515
- uses: actions/checkout@v2
16-
- uses: daniestevez/[email protected].0
16+
- uses: daniestevez/[email protected].1

CHANGELOG.md

+33-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## Unreleased
88

9+
## [4.6.0], [3.13.0] - 2022-05-09
10+
11+
### Added
12+
- Support for BDSat
13+
- Support for D-STAR ONE LightSat
14+
- Support for Eaglet-I in BPSK mode
15+
- Support for INS-2TD
16+
- Support for INSPIRESat-1
17+
- Support for OreSat0
18+
- Support for PlantSat
19+
- Support for SanoSat-1
20+
- Support for SUCHAI-3
21+
- New generic CRC blocks
22+
- Telemetry parsing for CSP v2
23+
24+
### Changed
25+
- Improved NRZI decoder block
26+
- Refactor code using CRCs to use the new blocks
27+
- Updated example GRC files to GNU Radio 3.10
28+
- Deprecate Print Header block
29+
30+
### Fixed
31+
- Codec2 UDP sink under GNU Radio 3.9
32+
- KISS server sink under GNU Radio 3.9
33+
- UDP source under GNU Radio 3.10
34+
35+
### Removed
36+
- Leftover files for D-STAR ONE telemetry parser
37+
938
## [4.5.0], [3.12.0] - 2022-02-19
1039

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

463-
[Unreleased]: https://github.com/daniestevez/gr-satellites/compare/v4.5.0...master
464-
[4.4.0]: https://github.com/daniestevez/gr-satellites/compare/v4.4.0...v4.5.0
492+
[Unreleased]: https://github.com/daniestevez/gr-satellites/compare/v4.6.0...main
493+
[4.6.0]: https://github.com/daniestevez/gr-satellites/compare/v4.5.0...v4.6.0
494+
[4.5.0]: https://github.com/daniestevez/gr-satellites/compare/v4.4.0...v4.5.0
465495
[4.4.0]: https://github.com/daniestevez/gr-satellites/compare/v4.3.1...v4.4.0
466496
[4.3.1]: https://github.com/daniestevez/gr-satellites/compare/v4.3.0...v4.3.1
467497
[4.3.0]: https://github.com/daniestevez/gr-satellites/compare/v4.2.0...v4.3.0
468498
[4.2.0]: https://github.com/daniestevez/gr-satellites/compare/v4.1.0...v4.2.0
469499
[4.1.0]: https://github.com/daniestevez/gr-satellites/compare/v4.0.0...v4.1.0
470500
[4.0.0]: https://github.com/daniestevez/gr-satellites/compare/v4.0.0-rc1...v4.0.0
471501
[4.0.0-rc1]: https://github.com/daniestevez/gr-satellites/compare/v3.7.0...v4.0.0-rc1
502+
[3.13.0]: https://github.com/daniestevez/gr-satellites/compare/v3.12.0...v3.13.0
472503
[3.12.0]: https://github.com/daniestevez/gr-satellites/compare/v3.11.0...v3.12.0
473504
[3.11.0]: https://github.com/daniestevez/gr-satellites/compare/v3.10.1...v3.11.0
474505
[3.10.1]: https://github.com/daniestevez/gr-satellites/compare/v3.10.0...v3.10.1

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/Modules)
4343

4444
# Set the version information here
4545
set(VERSION_MAJOR 4)
46-
set(VERSION_API 5)
46+
set(VERSION_API 6)
4747
set(VERSION_ABI 0)
4848
set(VERSION_PATCH 0)
4949

CONTRIBUTING.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Contributing to gr-satellites
22

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

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

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

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

70-
[grep1]: https://github.com/gnuradio/greps/blob/master/grep-0001-coding-guidelines.md
70+
[grep1]: https://github.com/gnuradio/greps/blob/main/grep-0001-coding-guidelines.md

README.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/daniestevez/gr-satellites)](https://github.com/daniestevez/gr-satellites/releases/latest)
44
[![Conda](https://img.shields.io/conda/v/conda-forge/gnuradio-satellites)](https://anaconda.org/conda-forge/gnuradio-satellites)
55
[![Read the Docs](https://img.shields.io/readthedocs/gr-satellites)](https://gr-satellites.readthedocs.io/)
6-
[![GitHub license](https://img.shields.io/github/license/daniestevez/gr-satellites)](https://github.com/daniestevez/gr-satellites/blob/master/LICENSE)
6+
[![GitHub license](https://img.shields.io/github/license/daniestevez/gr-satellites)](https://github.com/daniestevez/gr-satellites/blob/main/LICENSE)
77

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

5656
The repository is organized in the following branches:
5757

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

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

76-
In general, pull requests should be submitted to `master`.
76+
In general, pull requests should be submitted to `main`.
7777

7878
## Installation
7979

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

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

102102
## CCSDS TM and TC Space Datalink and SpacePacket blocks
103103

104104
Athanasios Theocharis made under ESA Summer of Code in Space 2019 a collection
105105
of blocks covering several CCSDS blue books. The documentation for this blocks
106106
can be found in
107-
[CCSDS_README.md](https://github.com/daniestevez/gr-satellites/blob/master/CCSDS_README.md).
107+
[CCSDS_README.md](https://github.com/daniestevez/gr-satellites/blob/main/CCSDS_README.md).

apps/gr_satellites

+16-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env python3
22
# -*- coding: utf-8 -*-
33

4-
# Copyright 2019-2020 Daniel Estevez <[email protected]>
4+
# Copyright 2019-2022 Daniel Estevez <[email protected]>
55
#
66
# This file is part of gr-satellites
77
#
@@ -13,6 +13,10 @@ import signal
1313
import sys
1414

1515
from gnuradio import gr, blocks, audio
16+
17+
if gr.api_version() != '9':
18+
from gnuradio import network
19+
1620
import satellites.core
1721
import satellites.components.datasources as datasources
1822
from satellites.utils.config import open_config
@@ -260,14 +264,20 @@ class gr_satellites_top_block(gr.top_block):
260264
def setup_udp_input(self):
261265
if self.options.udp_raw:
262266
size = gr.sizeof_gr_complex if self.options.iq else gr.sizeof_float
263-
self.input = blocks.udp_source(size, self.options.udp_ip,
264-
self.options.udp_port, 1472, False)
267+
self.input = self.udp_source(size)
265268
else:
266-
self.input_int16 = blocks.udp_source(
267-
gr.sizeof_short, self.options.udp_ip, self.options.udp_port,
268-
1472, False)
269+
self.input_int16 = self.udp_source(gr.sizeof_short)
269270
self.setup_input_int16()
270271

272+
def udp_source(self, size):
273+
# The UDP source has been moved in GNU Radio 3.10
274+
if gr.api_version() == '9':
275+
return blocks.udp_source(
276+
size, self.options.udp_ip, self.options.udp_port, 1472, False)
277+
else:
278+
return network.udp_source(
279+
size, 1, self.options.udp_port, 0, 1472, False, False, True)
280+
271281
def setup_input_int16(self):
272282
self.short_to_float = blocks.short_to_float(1, 32767)
273283
self.connect(self.input_int16, self.short_to_float)

debian/changelog

+6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
gr-satellites (3.12.0-0) impish; urgency=medium
2+
3+
* Mainstream release v3.12.0
4+
5+
-- <[email protected]> Sat, 19 Feb 2022 11:00:00 +0000
6+
17
gr-satellites (3.11.0-0) hirsute; urgency=medium
28

39
* Mainstream release v3.11.0

docs/doxygen/CMakeLists.txt

+2-13
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,8 @@
33
# This file was generated by gr_modtool, a tool from the GNU Radio framework
44
# This file is a part of gr-satellites
55
#
6-
# GNU Radio is free software; you can redistribute it and/or modify
7-
# it under the terms of the GNU General Public License as published by
8-
# the Free Software Foundation; either version 3, or (at your option)
9-
# any later version.
6+
# SPDX-License-Identifier: GPL-3.0-or-later
107
#
11-
# GNU Radio is distributed in the hope that it will be useful,
12-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14-
# GNU General Public License for more details.
15-
#
16-
# You should have received a copy of the GNU General Public License
17-
# along with GNU Radio; see the file COPYING. If not, write to
18-
# the Free Software Foundation, Inc., 51 Franklin Street,
19-
# Boston, MA 02110-1301, USA.
208

219
########################################################################
2210
# Create the doxygen configuration file
@@ -29,6 +17,7 @@ file(TO_NATIVE_PATH ${CMAKE_BINARY_DIR} abs_top_builddir)
2917
set(HAVE_DOT ${DOXYGEN_DOT_FOUND})
3018
set(enable_html_docs YES)
3119
set(enable_latex_docs NO)
20+
set(enable_mathjax NO)
3221
set(enable_xml_docs YES)
3322

3423
configure_file(

docs/doxygen/Doxyfile.in

+6-35
Original file line numberDiff line numberDiff line change
@@ -199,13 +199,6 @@ TAB_SIZE = 8
199199

200200
ALIASES =
201201

202-
# This tag can be used to specify a number of word-keyword mappings (TCL only).
203-
# A mapping has the form "name=value". For example adding
204-
# "class=itcl::class" will allow you to use the command class in the
205-
# itcl::class meaning.
206-
207-
TCL_SUBST =
208-
209202
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
210203
# sources only. Doxygen will then generate output that is more tailored for C.
211204
# For instance, some of the names that are used will be different. The list
@@ -723,8 +716,6 @@ EXCLUDE_PATTERNS = */.deps/* \
723716

724717
EXCLUDE_SYMBOLS = ad9862 \
725718
numpy \
726-
*swig* \
727-
*Swig* \
728719
*my_top_block* \
729720
*my_graph* \
730721
*app_top_block* \
@@ -790,7 +781,7 @@ INPUT_FILTER =
790781
# info on how filters are used. If FILTER_PATTERNS is empty or if
791782
# non of the patterns match the file name, INPUT_FILTER is applied.
792783

793-
FILTER_PATTERNS = *.py="@top_srcdir@"/doc/doxygen/other/doxypy.py
784+
FILTER_PATTERNS = *.py=@top_srcdir@/docs/doxygen/other/doxypy.py
794785

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

880871
ALPHABETICAL_INDEX = YES
881872

882-
# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
883-
# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
884-
# in which this list will be split (can be a number in the range [1..20])
885-
886-
COLS_IN_ALPHA_INDEX = 5
887-
888873
# In case all classes in a project start with a common prefix, all
889874
# classes will be put under the same header in the alphabetical index.
890875
# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
@@ -1220,14 +1205,14 @@ FORMULA_TRANSPARENT = YES
12201205
# output. When enabled you may also need to install MathJax separately and
12211206
# configure the path to it using the MATHJAX_RELPATH option.
12221207

1223-
USE_MATHJAX = NO
1208+
USE_MATHJAX = @enable_mathjax@
12241209

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

1230-
MATHJAX_FORMAT = HTML-CSS
1215+
MATHJAX_FORMAT = SVG
12311216

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

1242-
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
1227+
MATHJAX_RELPATH = @MATHJAX2_PATH@
12431228

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

1247-
MATHJAX_EXTENSIONS =
1232+
MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
12481233

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

16811666
EXTERNAL_PAGES = YES
16821667

1683-
# The PERL_PATH should be the absolute path and name of the perl script
1684-
# interpreter (i.e. the result of `which perl').
1685-
1686-
PERL_PATH = /usr/bin/perl
1687-
16881668
#---------------------------------------------------------------------------
16891669
# Configuration options related to the dot tool
16901670
#---------------------------------------------------------------------------
@@ -1697,15 +1677,6 @@ PERL_PATH = /usr/bin/perl
16971677

16981678
CLASS_DIAGRAMS = YES
16991679

1700-
# You can define message sequence charts within doxygen comments using the \msc
1701-
# command. Doxygen will then run the mscgen tool (see
1702-
# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
1703-
# documentation. The MSCGEN_PATH tag allows you to specify the directory where
1704-
# the mscgen tool resides. If left empty the tool is assumed to be found in the
1705-
# default search path.
1706-
1707-
MSCGEN_PATH =
1708-
17091680
# If set to YES, the inheritance and collaboration graphs will hide
17101681
# inheritance and usage relations if the target is undocumented
17111682
# or is not a class.
@@ -1834,7 +1805,7 @@ DIRECTORY_GRAPH = YES
18341805
# HTML_FILE_EXTENSION to xhtml in order to make the SVG files
18351806
# visible in IE 9+ (other browsers do not have this requirement).
18361807

1837-
DOT_IMAGE_FORMAT = png
1808+
DOT_IMAGE_FORMAT = svg
18381809

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

0 commit comments

Comments
 (0)