1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-07-13 06:14:21 -04:00
Commit Graph

11121 Commits

Author SHA1 Message Date
Edouard Griffiths 85a67e513d Merge pull request #2790 from srcejon/mac_ci
libsigmf: Fix path to library for Mac build
2026-07-10 00:23:46 +02:00
Jon Beniston 84613e71bf libsigmf: Fix path to library for Mac build 2026-07-07 00:36:37 +01:00
Edouard Griffiths 8fb29c9ddd Merge pull request #2787 from rgetz/rgetz-update-plutosdr-connection-mgr
Improve PlutoSDR discovery robustness and identitection mgr
2026-07-05 04:59:01 +02:00
Robin Getz 9632d6d9c7 plutosdr: resolve ambiguous mDNS URIs using discovered endpoint
Fix mDNS discovery ambiguity where multiple devices across
different network segments/subnets can advertise the same hostname (e.g.
"ip:pluto.local"), resulting in non-unique or misleading URIs.

Replace unresolved mDNS hostnames with the actual discovered endpoint
reported in the scan description.
- Detect ".local" URIs on IP backend and substitute hostname with
  resolved endpoint from libiio scan results.
- Preserve URI semantics:
  - Keep backend prefix ("ip:")
  - Preserve optional port suffix
  - Correctly format IPv6 literals with RFC2732 bracket notation when
    required
- Add replaceHostnameWithIP() to perform URI normalization during scan:
  - Only applies to IP backend URIs
  - Only triggers for mDNS-based ".local" hostnames
  - Uses scan-provided endpoint (from description string) as authoritative
    address instead of advertised hostname
- Extend scan() to emit both original and resolved URIs for debugging
  and verification during device discovery.

This resolves inconsistent device addressing when multiple PlutoSDRs
are accessible via mDNS across different subnets or network segments.

No change to backend enumeration or device identity logic; this only
normalizes .local IP URI resolution at scan time.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-04 16:46:23 -04:00
Robin Getz cfeac1dc11 plutosdr: refactor device identity and backend-based grouping
Improve PlutoSDR device identity handling to correctly distinguish
multiple libiio backends (IP, USB, etc.) and provide stable grouping
of physically identical hardware in the UI.
- Append backend prefix to scanned device serials to ensure uniqueness
  across multiple discovery paths (e.g. "<serial>_ip", "<serial>_usb").
  This prevents collisions when the same device is visible through
  different transports.
- Add physical serial extraction and grouping logic so that devices
  discovered via multiple backends are treated as a single physical
  unit for display purposes. This stabilizes UI numbering and avoids
  duplicate entries for the same hardware.
- Update enumOriginDevices() to:
  - group devices by physical serial rather than scan index
  - assign stable per-device indices independent of backend enumeration
  - include backend label in the display name to distinguish connection
    paths when multiple backends are active
- Introduce helper utilities:
  - createBackendSuffix(): extract backend identifier from libiio URI
  - getPhysicalSerial(): strip backend suffix for grouping logic
  - getBackendLabel(): format backend suffix for user-facing display

These changes ensure:
- unique internal identifiers per backend connection
- consistent grouping per physical device across discovery mechanisms
- improved UI clarity when multiple access paths exist for the same SDR

No change to RF/data path behavior; this is purely a discovery and
presentation-layer refactor.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-04 16:41:16 -04:00
f4exb 1f9b0ebb31 Release v7.27.1 v7.27.1 2026-07-04 18:22:23 +02:00
Edouard Griffiths 60c3885469 Merge pull request #2784 from gretel/fix-meshcore
fix incomplete modmeshcore
2026-07-04 16:44:32 +02:00
Tom Hensel 3036bbdccc fix: guard GCC-specific COMPILE_FLAGS in modemmeshcore with if (NOT MSVC)
The Monocypher vendored C files use -Wno-unused-function / -Wno-unused-parameter
compile flags that are GCC/Clang-only syntax. MSVC chokes on them with:

  cl : Command line error D8021 : invalid numeric argument '/Wno-unused-function'

Wrap the set_source_files_properties call in if (NOT MSVC) so the flags
are applied on macOS/Linux but skipped on Windows. The swagger CMakeLists.txt
uses the same pattern.
2026-07-04 13:17:44 +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 v7.27.0 2026-07-04 09:55:26 +02:00
Robin Getz b7b9e2c9e6 style: normalize indentation by replacing tabs with spaces
Convert tab-based indentation to spaces to match the project's
existing coding style. No functional changes.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-06-26 20:26:39 -04:00
Edouard Griffiths 728a2ac444 Merge pull request #2776 from gretel/pr/soapysdr-tx-fixes
Fix SoapyUHD TX signal path and MCR pinning
2026-06-25 16:21:38 +02:00
Edouard Griffiths 01a33ef1d7 Merge pull request #2775 from gretel/pr/meshcore-plugins
Add MeshCore protocol RX and TX channel plugins
2026-06-25 04:16:12 +02:00
Edouard Griffiths 089b1d4b06 Merge pull request #2772 from srcejon/fix_2771
Disable AVX instructions in limesuite for flatpak and snap
2026-06-24 21:40:28 +02:00
Tom Hensel abc8bd32df soapysdroutput: fix SoapyUHD TX signal path and MCR pinning
Fix multiple issues preventing SoapySDR output from producing RF:

- handleInputMessages() never called in DSP engine thread (Qt signal
  lost without event loop) - scheduled properly
- setGain() moved to start() post-activation (pre-activation gain
  silently fails on SoapyUHD)
- fullScale threshold corrected for CS16 format detection
- Timed first write pattern matching gr4-lora SoapySink

MCR pinning for SoapyUHD: inject auto_tick_rate=0 in
DeviceSoapySDR device-open path to prevent UHD from re-deriving the
master clock rate on set_tx_rate(), which breaks the decimator chain
and produces no RF. Also reads SDRANGEL_USRP_MASTER_CLOCK_RATE_HZ env
var for optional MCR override.

TX diagnostic counters: SoapySDROutputThread tracks packets,
underflows, errors. Exposed via REST as streamSettingsArgs
key-value pairs.
2026-06-24 20:19:27 +02:00
Tom Hensel 92552f6b4f meshcore: add MeshCore protocol RX/TX channel plugins 2026-06-24 20:19:20 +02:00
Jon Beniston 81f9b2128e Use separate line for parameter 2026-06-22 11:08:58 +01:00
Jon Beniston 734fe75741 Try -DENABLE_SIMD_FLAGS=SSE4.2 to avoid AVX instructions in snap and flatpak. 2026-06-22 11:05:14 +01:00
Edouard Griffiths 964bc0994d Merge pull request #2770 from rgetz/rgetz-dont-list-inuse-devices
Show devices in use in device selection dialog
2026-06-22 08:37:12 +02:00
Robin Getz a94f3c491e Show devices in use in device selection dialog
Previously, devices claimed by another device set were omitted from the
device selection lists. Display these devices as disabled and marked
"[in use]" instead of hiding them.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-06-21 20:42:34 -04:00
Edouard Griffiths 7f6c7a447d Merge pull request #2767 from dawkagaming/master
Use libunwind on all architectures
2026-06-18 21:16:16 +02:00
dawkagaming 73857ea2fe Use libunwind on all architectures 2026-06-17 21:08:29 +02:00
Edouard Griffiths 5fbbfb964a Merge pull request #2763 from UR4MCB/fobos-linux-runtime-optional
Make Linux Fobos SDR runtimes optional at build time
2026-06-09 00:27:57 +02:00
Alex Antonov UT2UM a15d66f147 Make Linux Fobos SDR runtimes optional at build time 2026-06-08 23:08:34 +03:00
Edouard Griffiths cdbb92e662 Merge pull request #2747 from df7cb/unwind-arm
Fix libunwind detection on arm
2026-06-06 12:14:27 +02:00
Christoph Berg f4aea9fae0 Fix indentation 2026-06-05 13:10:14 +02:00
Christoph Berg e83a546d29 Fix libunwind detection on arm
The inner "if" handles arm correctly, but the outer "if" is only entered
on x64_64.
2026-06-05 13:08:01 +02:00
Edouard Griffiths 77e39a017e Merge pull request #2745 from UR4MCB/fobos-linux-native-pr
Enable native Fobos SDR source plugin on Linux
2026-06-05 08:55:54 +02:00
Alex Antonov UT2UM 3f85144bed Enable native Fobos SDR source plugin on Linux 2026-06-05 07:47:56 +03:00
f4exb 13fdc156a2 Tried to fix Debian builds v7.26.1 2026-06-03 03:06:36 +02:00
f4exb 7e37ca68a2 Release v7.26.0 v7.26.0 2026-06-02 21:37:05 +02:00
Edouard Griffiths cd545b0341 Merge pull request #2742 from UR4MCB/fobos-dual-backend-source
Add Fobos SDR dual backend sample source plugin
2026-05-29 17:43:50 +02:00
Alex Antonov UT2UM 76f5042769 Add Fobos SDR dual backend sample source plugin 2026-05-27 18:58:28 +03:00
Edouard Griffiths 1cff66a043 Merge pull request #2738 from 3iAtlas/fix/mainserver-addmimodevice-null-deref
sdrsrv: fix null-deref in MainServer::addMIMODevice()
2026-05-22 09:49:21 +02:00
Zane (RainCicada) 87e1cabfca sdrsrv: fix null-deref in MainServer::addMIMODevice()
addMIMODevice() never assigned m_deviceSets.back()->m_deviceAPI before
dereferencing it via setSampleMIMO(), causing the very first
POST /sdrangel/deviceset?direction=2 against a fresh headless server
to SIGSEGV in DeviceAPI::setSampleMIMO()'s vtable lookup.

DeviceSet's constructor initializes m_deviceAPI to nullptr
(sdrbase/device/deviceset.cpp:38), and the sibling helpers
addSinkDevice() (line 283) and addSourceDevice() (line 323) both
assign the new DeviceAPI* into m_deviceSets.back()->m_deviceAPI
before any later dereference. addMIMODevice() omits this assignment,
so the line that today reads:

    m_mainCore->m_deviceSets.back()->m_deviceAPI->setSampleMIMO(mimo);

dereferences nullptr.

Fix by performing the same assignment as the Sink/Source paths, just
before the createSampleMIMOPluginInstance() call.

Verified against v7.25.1 in a custom headless build
(cicada-sdrangelsrv:7.25.1-mimo) with a LimeSDR-USB:

  - Pre-patch: POST /sdrangel/deviceset?direction=2 -> HTTP 202,
    then immediate SIGSEGV (backtrace top frame
    DeviceAPI::setSampleMIMO -> MainServer::addMIMODevice).
  - Post-patch: POST -> HTTP 202, container healthy, follow-up
    PUT /sdrangel/deviceset/0/device with hwType=LimeSDR
    direction=2 -> HTTP 202, deviceset reports the LimeSDR
    correctly bound as a MIMO device.
2026-05-21 21:40:04 -05:00
Edouard Griffiths f8eb645546 Merge pull request #2737 from AsciiWolf/patch-1
Bump copyright year
2026-05-21 02:05:40 +02:00
Edouard Griffiths 1a6b918e57 Merge pull request #2735 from srcejon/flatpak
Fix Flatpak build
2026-05-21 01:05:57 +02:00
AsciiWolf 6e06546f2c Bump copyright year 2026-05-20 12:12:25 +02:00
Edouard Griffiths 14ee0c5cee Merge pull request #2734 from AsciiWolf/patch-1
flatpak: Update hamlib-4.6.5.tar.gz to 4.7.1
2026-05-20 11:57:23 +02:00
Edouard Griffiths 3d6c36b18e Merge pull request #2732 from srcejon/workflow_dispatch
Add workflow_dispatch so github actions can be triggered manually.
2026-05-20 10:30:04 +02:00
Edouard Griffiths c67c8e593e Merge pull request #2731 from srcejon/fix_2730
Add find_package(FLAC) for when !ENABLE_EXTERNAL_LIBRARIES
2026-05-19 19:22:50 +02:00
AsciiWolf dc676326c1 flatpak: Update hamlib-4.6.5.tar.gz to 4.7.1 2026-05-19 14:40:25 +02:00
Jon Beniston 9df66f8473 Use container 2026-05-19 07:59:42 +01:00
Jon Beniston de6bdf6ac4 No sudo 2026-05-19 07:56:05 +01:00
Jon Beniston bfaea80858 Try --user 2026-05-19 07:52:08 +01:00
Jon Beniston 01b8329ba1 Use sudo to fix permission error 2026-05-19 07:46:05 +01:00
Edouard Griffiths f009d46868 Merge pull request #2729 from srcejon/flatpak
Update flatpak for compatibility with older CPUs
2026-05-19 00:57:41 +02:00
Jon Beniston 04f3fa3a30 Install flatpak and builder 2026-05-18 21:30:05 +01:00
srcejon 396c7a1f9c Merge branch 'f4exb:master' into flatpak 2026-05-18 21:27:26 +01:00