1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-07-26 12:04:13 -04:00

247 Commits

Author SHA1 Message Date
Robin Getz e46f204796 PlutoSDR: keep device open state consistent after close
Clear the m_open flag when closing PlutoSDR input and output
devices. Previously closeDevice() released m_deviceParams but left
m_open set, leaving the object in an inconsistent state where code
could treat a closed device as still valid.

This was exposed when reloading a running PlutoSDR device, where GUI
updates could access the partially torn-down device state.

Hopefully fixes #2833 (I don't have a windows machine to test).

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-23 21:31:43 -04:00
Edouard Griffiths fcb7dbf8ba Merge pull request #2814 from rgetz/rgetz-pluto-gain-updates
plutosdr: Update RX gain limits dynamically from hardware
2026-07-21 03:13:47 +02:00
Robin Getz 72d612d986 plutosdr: Update RX gain limits dynamically from hardware
Query the PlutoSDR hardware for the current RX gain range and use it
to configure the GUI gain control dynamically.

The AD936x gain limits vary with LO frequency. Previously the GUI used
a fixed gain range, allowing users to select values that the hardware
would reject after changing bands. The gain slider now refreshes its
minimum, maximum, and step size whenever the device center frequency is
updated.

Also change the gain setting serialization to use a signed integer so
negative gain values are preserved for operating modes that support
them.

Changes include:
- Add DevicePlutoSDRBox::getGainRange() to read
  in_voltage0_hardwaregain_available.
- Expose gain range through PlutoSDRInput.
- Refresh GUI gain limits when the device frequency changes.
- Avoid unnecessary widget updates when limits are unchanged.
- Store/restore gain as a signed value.
- Add default RX gain limit constants for fallback when the device
  cannot provide its range.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-19 17:48:53 -04:00
Robin Getz af4c366cb7 PlutoSDR: Guard against null buddy shared pointers | Fix #2779
Add defensive null checks before dereferencing DeviceAPI::getBuddySharedPtr()
in the PlutoSDR input and output plugins.

DeviceAPI initializes the buddy shared pointer to nullptr, so a buddy may
exist before its shared state has been attached. This could result in null
pointer dereferences during device initialization, buddy thread
suspend/resume, or settings application.

Changes include:
- Validate buddy shared pointer in openDevice() and fail gracefully if absent.
- Guard suspendBuddies() and resumeBuddies() against null shared pointers.
- Skip buddies without shared state during applySettings() while logging a
  warning.
- Prevent dereferencing null buddy shared pointers when restarting buddy
  threads.

These changes improve robustness during PlutoSDR buddy initialization and
avoid crashes caused by partially initialized buddy relationships.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-19 12:59:17 -04:00
f4exb ef4357f26b Release 7.25.0 2026-05-04 06:00:17 +02:00
Tammo Jan Dijkema c86c178363 Use Qt6.2 compatible qt_add_plugin in CMake 2026-04-25 17:11:41 +02:00
f4exb c8389506e4 Release v7.23.1 2026-02-02 21:38:25 +01:00
f4exb 63348eeee1 Make device title editable in the basic device settings. Fixes #2292 2026-01-28 03:05:39 +01:00
f4exb b935db0228 Publish version 7.22.9 2025-09-28 21:27:43 +02:00
Jon Beniston f204c168f6 Add crash handler on Windows.
Add memory buffer to Logger, so last 500 log messages can be included in crash report.
Generate and include stripped pdb files so stack trace can include function names.
2025-07-31 16:35:44 +01:00
f4exb 8f2ac70621 Updated plugin versions 2024-10-06 10:53:38 +02:00
Edouard Griffiths f522d88fc5 Merge pull request #2252 from srcejon/freq_scanner
Update CMakeLists.txt to allow static libraries to be built
2024-09-13 21:07:04 +02:00
srcejon 1df07b21ae Update CMakeLists.txt to allow static libraries to be built, as well as shared.
Add BUILD_BENCH, BUILD_SHARED_LIBS, ENABLE_AARONIARTSA and ENABLE_METIS options.
2024-09-11 20:16:40 +01:00
DreamNik 202fc96de6 Append prefix to plugin name when running on Android.
Android libraries can't be placed inside subdirectory, so to
distinguish plugins from regular libraries the new prefix is used.
2024-09-05 13:37:51 +03:00
f4exb 585d806ef8 All device plugins: make sure start and stop are effective once only. PArt of #2159 2024-08-27 09:54:09 +02:00
f4exb aec3c5ca47 Updated plugin versions 2024-08-13 22:35:18 +02:00
Daniele Forsi e56908b0c6 Fix typos in include files 2024-07-10 23:06:38 +02:00
f4exb 3e909d2016 Updated versions and changelogs 2024-06-25 22:19:14 +02:00
Daniele Forsi d8c733cab7 Update properties related to fonts
Automatically updated by opening the .ui file in Qt Creator.
2024-06-23 17:32:49 +02:00
f4exb 4770e2d281 Updated versions and changelogs 2024-06-18 00:52:36 +02:00
Daniele Forsi 406bb674c5 Fix typos 2024-06-16 23:38:33 +02:00
Mykola Dvornik 15337cac66 Fix bug that prevents settings changes updates via reverse API
Most plugins that use reverse API to PATCH settings updates to remote
server only do so when `useReverseAPI` is toggled, but not when the
relevant settings are being updated. So lets fix the precondition to
use the `m_useReverseAPI` flag instead.
2024-04-14 18:58:12 +02:00
f4exb cdae5ca048 Updated versions and changelogs 2024-04-14 11:41:00 +02:00
Daniele Forsi 8c3f7e3775 Remove unused includes and use more direct includes 2024-04-11 23:31:34 +02:00
f4exb 07e8ae0de1 Updated changelogs and plugins versions 2023-11-29 05:00:58 +01:00
f4exb b6c4d10b62 Rewriting of copyright notices for plugins/samplesource. Part of #1893 2023-11-18 10:07:41 +01:00
Jon Beniston e799e5eb72 Fix resize cursor not being cleared when mouse moves over child widgets 2023-11-13 20:51:03 +00:00
f4exb 8a38af480f Updated versions and change logs 2023-07-11 17:50:11 +02:00
f4exb c4debeef8e PlutoSDR input/output: do not apply settings to self when coming from a buddy change. Fixes #1690 2023-07-11 11:44:25 +02:00
Daniele Forsi c6195634f9 Fix repeated words
Found with:
grep -r " \([[:alpha:]]\+\) \1 " --color=yes --include=*.md
2023-05-04 21:42:49 +02:00
Jon Beniston 0dd466a900 Add DialogPositioner to ensure dialogs are fully on screen and remain on
screen when screen orientation changes.
Add DialPopup to allow dials to adjusted with a slider, which is easier
on touchscreens.
Add TableTapAndHold to support table context menus on touchscreens.
2022-12-20 10:31:15 +00:00
Jon Beniston fc7c9c1fc8 Update CMakeLists.txt to support both Qt5 and Qt6. Add option ENABLE_QT6 2022-11-17 14:34:54 +00:00
Jon Beniston ee8b8ade88 Device GUIs: Constain window size via minimumSize/maximumSize, rather than handling resizeEvent. Add maximum button. Hide size buttons when window size is fixed 2022-11-09 15:53:44 +00:00
f4exb 3814a95073 Updated versions and changelogs 2022-11-01 23:51:06 +01:00
f4exb 94a465b210 PlutoSDR input: Make settings assignments atomic. Part of #1329 2022-10-24 00:57:41 +02:00
f4exb f034319c22 Updated versions and changelogs 2022-10-19 17:40:14 +02:00
Jon Beniston 929e0d34dc Adjust number of frequency digits depending whether transverter is enabled 2022-10-17 13:43:32 +01:00
f4exb 949a9e9380 Center frequency dials up to 9 digits and transverter delta frequency dial up to 12 digits. Fixes #1476 2022-10-15 03:04:29 +02:00
Jon Beniston d6a02f659a Device GUIs: Stop timers in destructors. 2022-10-05 15:40:09 +01:00
f4exb de94ea01b5 Updated main and plugin versions 2022-05-14 13:16:33 +02:00
f4exb 9e5c629473 v7: API: added workspace handling for device, spectrum, feature and channel. Implements #1242 2022-05-13 22:24:48 +02:00
f4exb 520106c7ba Massive UI revamping (v7): fixed devices .ui files to correct display wwhen creating device. Part of #1209 2022-04-27 02:06:17 +02:00
f4exb 218237c466 Massive UI revamping (v7): Devices: set the border on the outer side of the window. Part of #1213 2022-04-24 02:13:18 +02:00
f4exb 90d331675a Massive UI revamping (v7): fixed widget size handling: sample sources. Part ofs #1209 2022-04-21 07:53:36 +02:00
f4exb 249db03cf3 Massive UI revamping (v7): fixed device workspace index save/restore and removed useless geometry blobs. Fixes #1207 2022-04-20 20:08:41 +02:00
f4exb 40e34bdebd Massive UI revamping (v7): implemented device common settings from top bar and added documentation on device windows top and bottom bars 2022-04-17 01:31:50 +02:00
f4exb 32973132d9 Massive UI revamping (v7): unify custom widget borders 2022-04-10 02:19:26 +02:00
f4exb cfde845b5a Massive UI revamping (v7): devices UIs update 2022-04-09 22:05:55 +02:00
f4exb 0ca0eb8f73 Massive UI revamping (v7): devices intermediate 2022-04-09 13:38:22 +02:00
f4exb aad90aeabc Massive UI revamping (v7): devices basic 2022-04-07 16:32:03 +02:00