Commit Graph
6547 Commits
Author SHA1 Message Date
Jon Beniston 8ebdf56c19 Merge branch 'fixes' of https://github.com/srcejon/sdrangel into fixes 2026-08-03 14:06:15 +01:00
Jon Beniston 7e5d4f8d43 Packet Demod: Add MLSE demod and Chase decoding to improve performance. 2026-08-03 14:06:11 +01:00
srcejon 0d67de7847 Merge branch 'f4exb:master' into fixes 2026-08-03 13:42:07 +01:00
Jon Beniston db0a085096 Match values in resetToDefaults. 2026-08-03 01:44:35 +01:00
Edouard Griffiths f6ed9b8cb3 Merge pull request #2868 from rgetz/rgetz-fix-copypaste
vorlocalizer: Fix round robin plan sorting comparator
2026-08-02 16:21:00 +02:00
Edouard Griffiths 744bb7e18d Merge pull request #2862 from rgetz/rgetz-fix-remaining-vlas
Remove remaining variable length arrays from demoddatv/ldpctool/generic.h
2026-08-02 05:30:31 +02:00
Edouard Griffiths f72133eee0 Merge pull request #2866 from rgetz/rgetz-fix-memsetClass
leansdr: Properly initialize QPSK hist buffer
2026-08-02 02:17:33 +02:00
Robin Getz d122e69fba ldpctool: Remove VLAs from SumProductAlgorithm
Replace variable length arrays in SumProductAlgorithm::finalp() with a
std::vector buffers.

This removes reliance on compiler VLA extensions while preserving the
existing contiguous temporary buffer layout.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-08-01 19:48:46 -04:00
Robin Getz 85021508f1 ldpctool: Remove VLAs from LambdaMinAlgorithm
Replace variable length arrays in LambdaMinAlgorithm::finalp() with
std::vector storage.

Update nth_element() usage to operate on vector iterators while removing
the non-standard VLA usage.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-08-01 19:48:46 -04:00
Robin Getz e4561aeb77 ldpctool: Remove VLAs from LogDomainSPA
Replace variable length arrays in LogDomainSPA::finalp() with
std::vector buffers.

This removes reliance on compiler VLA extensions while preserving the
existing contiguous temporary buffer layout.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-08-01 19:48:46 -04:00
Robin Getz 7e26f86aa6 ldpctool: Remove VLAs from MinSumCAlgorithm<int8_t, FACTOR>
Replace the variable length temporary array in the int8_t FACTOR
specialization of MinSumCAlgorithm::finalp() with a std::vector buffer.

This removes reliance on compiler VLA extensions and uses standard C++
storage for the temporary reduction buffer.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-08-01 19:48:45 -04:00
Robin Getz 8ac0485e53 ldpctool: Remove VLAs from MinSumCAlgorithm<float, FACTOR>
Replace the variable length temporary array in the float FACTOR
specialization of MinSumCAlgorithm::finalp() with a std::vector buffer.

This removes reliance on compiler VLA extensions and uses standard C++
storage for the temporary reduction buffer.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-08-01 19:48:45 -04:00
Robin Getz 4ccc7a9bfd ldpctool: Remove VLA from MinSumCAlgorithm
Replace the variable length temporary array in MinSumCAlgorithm::finalp()
with a std::vector buffer.

This removes reliance on compiler VLA extensions and uses standard C++
storage for the temporary reduction buffer.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-08-01 19:48:44 -04:00
Robin Getz 4b3bf21418 ldpctool: Remove VLAs from OffsetMinSumAlgorithm<int8_t, FACTOR>
Replace variable length arrays in the int8_t FACTOR specialization of
OffsetMinSumAlgorithm::finalp() with a single std::vector scratch buffer.

This removes reliance on compiler VLA extensions while preserving the
existing contiguous temporary buffer layout.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-08-01 19:48:44 -04:00
Robin Getz 1f62875563 ldpctool: Remove VLAs from OffsetMinSumAlgorithm
Replace variable length arrays in OffsetMinSumAlgorithm::finalp() with a
std::vector buffers.

This removes reliance on compiler VLA extensions while preserving the
existing contiguous temporary buffer layout.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-08-01 19:48:44 -04:00
Robin Getz 6de853d3d1 ldpctool: Remove VLAs from MinSumAlgorithm<int8_t>
Replace variable length arrays in the int8_t specialization of
MinSumAlgorithm::finalp() with a single std::vector scratch buffer.

This removes reliance on compiler VLA extensions while preserving the
existing contiguous temporary buffer layout.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-08-01 19:48:43 -04:00
Robin Getz a1391d52a2 ldpctool: Remove VLAs from MinSumAlgorithm<float>
Replace variable length arrays in the float specialization of
MinSumAlgorithm::finalp() with std::vector storage.

This removes reliance on compiler VLA extensions and keeps the
temporary buffers managed by standard C++ containers.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-08-01 19:48:32 -04:00
Robin Getz bef0b8184e vorlocalizer: Fix round robin plan sorting comparator
The channel count comparison in getChannelsByDevice() accidentally used
the first plan's channel count for both operands. This caused the comparator
to always treat the channel counts as equal and sort only by bandwidth.

Use the second plan's channel count when comparing RRTurnPlans so plans are
ordered correctly by number of channels before applying the bandwidth
tie-breaker.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-08-01 19:16:31 -04:00
Robin Getz 1a85082dac ldpctool: Remove VLAs from MinSumAlgorithm
Replace variable length arrays in MinSumAlgorithm::finalp() with a
std::vector buffers.

Variable length arrays are a compiler extension and are not part of
standard C++. The replacement preserves the existing contiguous memory
layout while avoiding non-standard stack allocations.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-08-01 18:44:26 -04:00
Robin Getz fe22e92c29 leansdr: Properly initialize QPSK hist buffer
Replace raw memset() initialization of hist with C++ value initialization.
This avoids bypassing std::complex object initialization and ensures the
history buffer contains valid constructed objects when HIST_FLOAT is enabled.

The previous memset() relied on the in-memory representation of
std::complex<float> and could leave non-trivial objects improperly
initialized. While this typically behaved as expected with common
implementations, it was not valid C++ object initialization.

pointed out by cppcheck as:
    Using 'memset' on struct that contains a 'std::complex'

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-08-01 17:26:51 -04:00
Jon Beniston 9a2d3f683a Update AIS docs to match latest UI. 2026-08-01 21:17:16 +01:00
Jon Beniston 2cb8091c54 Allow zooming in on chart and hiding of series. 2026-08-01 21:09:30 +01:00
Jon Beniston 77e43defe6 Add message / ship chart.
Add images of ships from VesselFinder.
2026-08-01 20:56:52 +01:00
Jon Beniston f72037a093 Use MLSE demod to improve sensitivity.
Normalise threshold.
Fix frequency deviation.
2026-08-01 20:15:45 +01:00
Jon Beniston cd7611f3bf Automatically detect baud rate. Report in table.
Use matched filter and Gardner timing loop to improve decoder performance.
Fix bug where last message of a transmission is lost.
2026-08-01 20:08:24 +01:00
Robin Getz 5df5469cc2 leansdr : Fix undefined shift behavior in GF(2^N) arithmetic
The gf2n implementation used a left shift on a potentially negative
value when masking field elements:

    (~(Te)0) << N

This can result in undefined behavior for signed integer types and was
reported by static analysis (cppcheck).

Require the field element type to be unsigned and replace the mask
generation with an explicit N-bit mask constructed from the element type.
Also make the overflow check use the element type to avoid implicit
signed integer operations.

Add comments documenting the packed polynomial representation and the
GF(2^N) reduction steps to clarify the intent of the bit operations.

Fixes static analysis warning about shifting negative values.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-08-01 14:49:19 -04:00
Jon Beniston fd72109d37 Merge branch 'fixes' of https://github.com/srcejon/sdrangel into fixes 2026-08-01 15:31:38 +01:00
Edouard Griffiths c9c95398f3 Merge pull request #2861 from rgetz/rgetz-fix-funcArgOrderDifferent
Fix cppcheck-reported function argument order mismatches
2026-08-01 16:02:24 +02:00
Robin Getz 09980d9782 APRSGUI: Fix displayTableSettings argument order
cppcheck reported that the displayTableSettings() declaration argument
order differed from the function definition. The header declared the
arguments as (columnIndexes, columnSizes), while the implementation and
all call sites use (columnSizes, columnIndexes).

Update the declaration to match the implementation and remove ambiguity
between the table column width and ordering arrays.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-31 21:02:23 -04:00
Robin Getz e3cf04b227 Fix RadioAstronomyGUI addToPowerFilter argument order
cppcheck reported that the addToPowerFilter() declaration argument
order differed from the function definition. The header declared the
arguments as (y, x), while the implementation and all call sites use
(x, y).

Update the declaration to match the implementation and callers to avoid
confusion and potential misuse of the function arguments.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-31 20:59:42 -04:00
Jon Beniston 99d8785a2d Remove obsolete widget 2026-07-31 19:11:52 +01:00
Jon Beniston b8b6343aa8 Remove connection as it's automatic. 2026-07-31 19:03:10 +01:00
Jon Beniston f99f93ed77 Prevent notifications while loading .csv.
Save last received message for duplicate filtering, as table may be sorted.
2026-07-31 19:00:54 +01:00
Jon Beniston 22fa9ba3eb Add declarations 2026-07-31 18:58:44 +01:00
Jon Beniston e460f82451 Ignore partiy bit. Remove unused filter. 2026-07-31 18:58:21 +01:00
Jon Beniston e0f85c1fc3 Use RGB value rather than enum 2026-07-31 17:45:09 +01:00
Jon Beniston c56e3f1b53 Ignore parity bit 2026-07-31 17:42:22 +01:00
Jon Beniston 0c1ed5ab0d Reset all variables. Make sure address has been decoded. 2026-07-31 17:24:26 +01:00
Jon Beniston 39f0a308ce Reset all settings and fix port numbers 2026-07-31 17:23:28 +01:00
Jon Beniston d8f3d447c8 Disable sorting and fix memory leak 2026-07-31 17:22:18 +01:00
Jon Beniston ee7067bbc4 Check notifications on unsorted list 2026-07-31 17:21:49 +01:00
Jon Beniston fe5d1ba155 Fix BCH error correction 2026-07-31 16:49:10 +01:00
Jon Beniston 874c0b9ffb Add alpha and numeric notification matching 2026-07-31 16:48:06 +01:00
Jon Beniston ef3995cc26 Initialise m_centerFrequency 2026-07-31 16:33:53 +01:00
Jon Beniston 7842075090 Fix potential crash in server mode. 2026-07-31 16:26:54 +01:00
Jon Beniston 36994dfe0b Fix reference to adsb settings. 2026-07-31 16:26:16 +01:00
Jon Beniston 0be50d4156 Wrap slot at end of frame 2026-07-31 15:57:26 +01:00
Jon Beniston 13f9fe4cd7 Remove unused variables and support port 65535. 2026-07-31 15:57:06 +01:00
Jon Beniston 5271173997 Add missing label offsets. Fix bounded so tug 3 is used. 2026-07-31 15:49:54 +01:00
Jon Beniston ee3b8c14a3 Remove unused variable. 2026-07-31 15:48:18 +01:00