1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-07-27 12:34:18 -04:00
Commit Graph

2611 Commits

Author SHA1 Message Date
Edouard Griffiths def2eb68a5 Merge pull request #2820 from rgetz/rgetz-remove-check-meshcoredemodgui
Remove redundant ui null check in MeshcoreDemodGUI
2026-07-22 04:30:14 +02:00
Edouard Griffiths a6ad52716e Merge pull request #2818 from rgetz/rgetz-fix-uninitialized-1
Fix Coverity UNINIT warnings in RadioAstronomy and VOR Localizer
2026-07-22 02:12:35 +02:00
Edouard Griffiths 01a23e6f22 Merge pull request #2817 from srcejon/fix_2815
AM Demod: Snap to nearest centre frequency.
2026-07-21 20:46:37 +02:00
Edouard Griffiths 41d5d57ad1 Merge pull request #2816 from rgetz/rgetz-fix-coverity-int-handling-issues
Fix coverity int handling issues
2026-07-21 08:55:59 +02:00
Robin Getz 409e1f1a00 Remove redundant ui null check in MeshcoreDemodGUI & MeshtasticDemodGUI
The ui object is created during MeshcoreDemodGUI and MeshtasticDemodGUI
construction and remains valid for the lifetime of the widget. Remove
the unnecessary null check to avoid misleading static analysis tools
into assuming ui can be null.

This resolves a Coverity false positive where the later call to
updateDechirpModeUI() was reported as a possible null dereference
in both places.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-20 23:33:44 -04:00
Robin Getz 382d541eae RadioAstronomy: Validate sweep configuration before starting
Fix Coverity CID 649243 (DIVIDE_BY_ZERO) by validating sweep step
values before calculating 2D sweep dimensions.

Move sweep step validation to on_startStop_clicked() so invalid sweep
configurations are reported to the user before a sweep begins. Display
an error message when either sweep step is zero and prevent the sweep
from starting.

Retain defensive validation when updating 2D sweep settings to guard
against invalid configurations received from saved settings or other
code paths.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-20 18:35:16 -04:00
Robin Getz 1270f27ebf RadioAstronomy: Initialize intensity for unexpected power units
Fix a Coverity UNINIT warning in RadioAstronomyGUI::update2DImage()
where the intensity variable could be used uninitialized if
m_powerYUnits contained an unexpected value and followed the default path.

Handle the default switch case by logging a warning and falling back
to fft->m_totalPowerdBFS, ensuring intensity is always initialized
before being used while providing diagnostics for invalid enum values.

Fixes Coverity CID 649242.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-20 17:24:18 -04:00
Jon Beniston 7bc89a205c AM Demod: Snap to nearest centre frequency. #2815 2026-07-20 17:41:07 +01:00
Robin Getz b7cd725c86 RadioAstronomy: Validate Y-factor calibration inputs
Fix Coverity CID 649221 (DIVIDE_BY_ZERO) by validating the cold
calibration power sum before calculating the Y-factor.

Refactor calcCalTrx() to use early returns for invalid calibration
states and avoid duplicated UI clearing logic. Also handle the
undefined Y-factor case when hot and cold measurements have equal power.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-19 19:42:07 -04:00
Robin Getz ea0f5fa790 NoiseFigure: Prevent divide by zero when plotting reference data
Fix Coverity CID 649238 (DIVIDE_BY_ZERO) by validating the reference
column count before using it as a divisor in plotChart().

The reference column count can be cleared when removing reference data,
in on_clearReference_clicked() so ensure chart rendering handles an empty
reference configuration safely.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-19 19:26:39 -04:00
Robin Getz 98f43dfd8c FT8: Fix potential integer overflow in band preset frequency calculation
Fix Coverity CID 649215 (OVERFLOW_BEFORE_WIDEN) by ensuring the band
preset frequency calculation is widened to 64-bit before converting
kHz to Hz.

This prevents a potential 32-bit intermediate overflow when applying
band presets (which is likely not a real issue, but it keeps the
analyzer happy).

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-19 19:21:25 -04:00
Robin Getz 8c3c93a09f ADSB: Fix BDS 4,1 waypoint character bit extraction
Fix Coverity CID 649088 (CONSTANT_EXPRESSION_RESULT) in the BDS 4,1
next waypoint decoding logic.

The high bit contribution to waypoint character c[5] was incorrectly
shifted right by 3, causing the expression to always evaluate to zero
and discard a valid bit from the decoded character. Change the shift
direction to correctly place the extracted bit into the character field.

This restores proper decoding of the BDS 4,1 waypoint string and removes
the Coverity warning.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-19 19:06:16 -04:00
Jon Beniston d716568973 WDSP: Fix distorted AM audio when AGC is disabled. Add audio clamping on 16-bit conversion. 2026-07-19 20:47:40 +01:00
Robin Getz b834b80f05 adsb: fix BDS 2,1 registration character decoding
Fix an incorrect bit shift when decoding aircraft registration
markings from BDS 2,1 Comm-B messages.

Coverity (CID 649088) reported that the expression
'(data[7] & 0x1) >> 3' always evaluates to zero, causing one bit of
the 6-bit character value to be discarded.

The BDS 2,1 aircraft registration marking format encodes seven
6-bit characters. Based on the bit layout defined in ICAO Doc 9871
(Technical Provisions for Mode S Specific Services) and verified
against independent implementations such as pyModeS/rs1090, the
remaining bit from data[7] is the most significant bit of the
character and must be shifted left, not right.

Update the extraction to preserve this bit when combining it with
the remaining bits from data[8].

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-12 19:35:04 -04:00
Robin Getz 810b0524fb adsb: fix Coverity UNINIT_CTOR warning in AircraftModel
Initialize the AircraftModel settings pointer to nullptr.

Coverity (CID 649096) flagged m_settings as potentially
uninitialized because the compiler-generated constructor does not
initialize it. Initialize it to nullptr, which is the appropriate
default until setSettings() provides a valid pointer.

This is likely not an issue, as m_settings is typically assigned
shortly after construction. However, correctness depends on that
assumption holding everywhere. Initializing it in the declaration
costs nothing, removes the dependency on initialization order, and
eliminates this class of bugs.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-12 19:16:08 -04:00
Robin Getz b3afa02023 adsb: fix Coverity UNINIT_CTOR warning in Aircraft
Initialize the remaining Aircraft members that were previously left
uninitialized by the constructor.

Coverity (CID 649090) flagged m_pressureAltitude, m_squawk,
m_range, m_lastColor, m_prevTrack, and
m_trackWhenHeadingSet as potentially uninitialized. Initialize
them to sensible default values consistent with their intended use.

This is likely not an issue, as these members are generally
initialized before use. However, correctness depends on that
assumption holding everywhere. Initializing them in the constructor
costs nothing, removes the dependency on call ordering, and
eliminates this class of bugs.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-12 19:07:43 -04:00
Robin Getz 12aa80686d adsb: fix Coverity UNINIT_CTOR warning in Interogator
Initialize all coordinate boundary members in the Interogator
constructor.

Coverity (CID 649097) flagged m_minLatitude, m_maxLatitude,
m_minLongitude, and m_maxLongitude as potentially uninitialized.
Initialize them to max()/lowest() sentinel values so subsequent
min/max accumulation logic operates on defined data.

This is likely not an issue, but safety depends on discipline
across the entire codebase, every place these members are
accessed must check m_valid first. Cleaner approach is to just
initialize them, it costs nothing and eliminates the entire class of bugs.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-12 18:37:13 -04:00
Edouard Griffiths 9a3bd35608 Merge pull request #2797 from munzzyy/fix_2764
LocalSink: fix crash when adding channel with no Local Input device (#2764)
2026-07-11 15:49:47 +02:00
Edouard Griffiths 315f642861 Merge pull request #2796 from srcejon/android_fixes
Android Qt6 support
2026-07-11 15:05:06 +02:00
munzzyy 9115e23184 LocalSink: fix crash when adding channel with no Local Input device. Fixes #2764 2026-07-10 14:15:24 -05:00
Jon Beniston b3fe4235a3 Fix pinch on Android 2026-07-09 23:33:21 +01:00
Jon Beniston a83dd8b8a0 Use default QSurfaceFormat when MSAA enabled. May fix #2788, #2022 and #1616 2026-07-07 14:06:13 +01:00
f4exb 1f9b0ebb31 Release v7.27.1 2026-07-04 18:22:23 +02:00
Tom Hensel dd0b2a4f1d docs: update readmes to reflect dedicated MeshCore SWG schemas (PR #2784)
Both plugin readmes listed the SWGMeshtastic* placeholder as an
outstanding item needing dedicated SWGMeshcore* schemas. This PR
provides exactly that — strike the stale todo and note the resolution.
2026-07-04 12:42:22 +02:00
Tom Hensel 2692b56c64 fixup: add missing CMake integration, export.h, and MeshCore swagger schemas
PR #2775 merged the MeshCore plugin source files but omitted the
parent CMakeLists.txt changes, the export.h API macro, and all
MeshCore-specific Swagger schema types. Without these the plugins
do not build and the REST API serves Meshtastic types for MeshCore
channels.

Adds:
- CMakeLists.txt parent directories + option definitions
- exports/export.h MODEMMESHCORE_API macro
- MeshcoreDemod/Mod swagger YAML specs + SWG client classes
- SWGChannelSettings/Report/Actions/ModelFactory MeshCore types
- Rename 164 Meshtastic donor references in plugin code
2026-07-04 12:31:14 +02:00
f4exb 0bb7a1e600 Release v7.27.0 2026-07-04 09:55:26 +02:00
Tom Hensel 92552f6b4f meshcore: add MeshCore protocol RX/TX channel plugins 2026-06-24 20:19:20 +02:00
f4exb ef4357f26b Release 7.25.0 2026-05-04 06:00:17 +02:00
Edouard Griffiths 69c6929fb0 Merge pull request #2712 from tammojan/cmake_qt6.2
Use Qt6.2 compatible qt_add_plugin in CMake
2026-04-28 20:20:12 +02:00
Tammo Jan Dijkema c86c178363 Use Qt6.2 compatible qt_add_plugin in CMake 2026-04-25 17:11:41 +02:00
jvn314 c368600b52 expose demod fields for plaintext packets, gate on header CRC 2026-04-25 05:24:36 +00:00
jvn314 3da5bff59b fix: replace sdrangel seq with meshtastic packet_id in JSON 2026-04-25 05:24:36 +00:00
jvn314 e4ad474cce implement JSON UDP packet builder 2026-04-25 05:24:35 +00:00
jvn314 88f29bc175 demod: wire sendJsonViaUDP through WebAPI 2026-04-25 05:24:35 +00:00
jvn314 75db515ffe Adapter settings wrong class fixed 2026-04-25 05:24:34 +00:00
jvn314 2306bb08d0 JSON UDP checkbox GUI added 2026-04-25 05:24:34 +00:00
jvn314 2f961e625d Add sendJsonViaUDP settings flag 2026-04-25 05:24:34 +00:00
Edouard Griffiths fc4d88b3cd Merge pull request #2706 from srcejon/fix_nfm_demod_scaling
NFMDemod: Correct FM scaling.
2026-04-22 19:50:58 +02:00
Jon Beniston 89fde2bdfc M17 Demod: Remove factor of Pi in setFMScaling 2026-04-21 19:58:59 +01:00
Jon Beniston 8c1b83fa24 Same for Radiosonde 2026-04-21 19:57:59 +01:00
Jon Beniston 19fa916e48 Use ± symbol for frequency deviation in GUI. Indicate figure is peak deviation in docs and tooltips. 2026-04-21 19:53:59 +01:00
Jon Beniston 9309ec1711 NFMDemod: Correct FM scaling. 2026-04-20 17:31:56 +01:00
Jon Beniston 53e4f4b1e8 Send DSPSignalNotification to Baseband when started, rather than calling m_basebandSink->setBasebandSampleRate, to ensure that FIFO can be resized according to the sample rate. For #2661. 2026-04-17 14:49:23 +01:00
Jon Beniston 45abc85c8b Radio Astronomy: Include milliseconds in spectrometer timestamp. 2026-04-08 13:07:32 +01:00
f4exb 0e13bbab85 Release 7.24.0 2026-03-28 19:22:50 +01:00
f4exb efa232db88 Meshtastic: some Sonar fixes 2026-03-27 21:17:46 +01:00
f4exb 66dfc3a0c8 Meshtastic demod: fixed Windows and Mac builds (2) 2026-03-27 11:13:35 +01:00
f4exb 34a52aa4a3 Meshtastic demod: fixed Windows and Mac builds 2026-03-27 09:06:13 +01:00
f4exb e22536c74a Meshtastic demod: added auxiliary channels 2026-03-27 00:25:09 +01:00
f4exb fc23cd2cc8 Meshtastic demod: implemented USER preset allowing arbitrary modulation characteristics and frequencies 2026-03-27 00:25:09 +01:00