Add openrtx/src/core/graphics.c and openrtx/include/core/graphics.h
in scripts/clang_format.sh and apply the formatter. No functional
changes.
Co-authored-by: GitHub Copilot <copilot@github.com>
Signed-off-by: Ryan Turner <ryan@turnrye.com>
Make clang-format cheking all the files in the repository by default.
The shell script now contains a list of files and folders excluded from
the check, to be progressively reduced when these files are updated to
the new coding style.
Signed-off-by: Silvano Seva <silseva@fastwebnet.it>
M17 protocol code is already namespaced in M17, so it's redundant to name every class M17*. This change removes the leading M17 from all of the namespaced things.
Co-authored-by: GitHub Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Ryan Turner <ryan@turnrye.com>
When there is a received m17 meta text, show it on the UI.
Co-authored-by: Wojciech Kaczmarski <w.kaczmarski@teletra.pl>
Co-authored-by: Jim Ancona <jim@anconafamily.com>
Co-authored-by: Rick Schnicker <crs026@yahoo.com>
Co-authored-by: GitHub Copilot <noreply@github.com>
Signed-off-by: Ryan Turner <ryan@turnrye.com>
Add classes oriented around handling metadata in the M17 protocol.
Create a class for reassembling text blocks from metadata in order to
assemble a multi-frame metadata text message.
Co-authored-by: Wojciech Kaczmarski <w.kaczmarski@teletra.pl>
Co-authored-by: Jim Ancona <jim@anconafamily.com>
Co-authored-by: Rick Schnicker <crs026@yahoo.com>
Co-authored-by: GitHub Copilot <noreply@github.com>
Signed-off-by: Ryan Turner <ryan@turnrye.com>
The CRC function used by M17 now utilizes a 4 bit lookup table and has been
moved out of the `protocols/m17` to `core/crc.c`.
Signed-off-by: Ryan Tolboom <Ryan.Tolboom@njit.edu>
The unit test directory had a number of manual linux platform tests that aren't really unit tests. They aren't written with assertions and have no documented use. This change deletes these from the testing suite. In the future they could be added back in a different place, or automated tests in the form of true unit or integration tests could be added. But this clarifies that all suites in the unit test folder are actually automated unit tests, and only one unexectued test remains (related to code that is planned to be reintroduced in the future).
Signed-off-by: Ryan Turner <ryan@turnrye.com>
Add a script to run gcovr; update contributing guide to explain usage; integrate
with vscode presents; add execution to ci.
To use this, execute `scripts/coverage.sh`. This builds with coverage
instrumentation, runs the test suite, and produces:
* HTML report: `build_coverage/coverage/index.html` -- open in a browser to see
per-file line-by-line coverage highlighting
* MD report: `build_coverage/coverage/coverage.md` -- human-readable summary of
test coverage which gets attached to the GitHub actions build
* Cobertura XML: `build/coverage/cobertura.xml` -- machine-readable format used
by CI; this gets archived today with the build, but no other use is in place
yet
In the future another tool could be used to track coverage over time, or we
could institute minimum coverage requirements and have a GH actions
automatically open a comment when the coverage is not met, for instance.
Co-authored-by: GitHub Copilot <copilot@github.com> Signed-off-by: Ryan Turner
<ryan@turnrye.com>
From the old UI check standby test, update it to be Catch2-based.
Register the test in meson.build and add it to clang_format.sh
Co-authored-by: GitHub Copilot <copilot@github.com>
Signed-off-by: Ryan Turner <ryan@turnrye.com>
Rename cps.c and convert_minmea_coord.c to .cpp so they can be built
with the C++ compiler required for Catch2. File content is unchanged at
this point - the Catch2 port follows in the next commit. Also update the
source references in meson.build and the file list in clang_format.sh.
Co-authored-by: GitHub Copilot <copilot@github.com>
Signed-off-by: Ryan Turner <ryan@turnrye.com>
In file cross_cm7.txt, the target cpu was wrongly identified as being
Cortex M4. This does not affect compilation.
Also, file cross_arm.txt was renamed cross_cm4.txt and folder build_arm
was renamed to build_cm4. References to this were also updated.
This change removes the old copyright header from project sources and
replaces it with a new simplified SPDX-compliant header. Note that files
that were missing the header but reasonably understood to be licensed
according to the root license were not corrected.
Signed-off-by: Ryan Turner <ryan@turnrye.com>
Added class representing M17 callsign objects. Objects can be
constructed both from strings and base-40 encoded values and allow
conversion to any of the other representation. The class implements the
comparison operator to allow easy check for callsign match.
New DC block filter implementation using fixed-point math and guaranteeing
zero DC component on the output signal.
Signed-off-by: Silvano Seva <silseva@fastwebnet.it>
T-TWR Plus target now produces images in UF2 format.
This format is compatible with bootloaders such as tinyuf2, and future
releases of the hardware will come pre-flashed with tinyuf2, thus
flashing them will not requires any other dependency than the uf2 file
itself.
TG-553