Skip to content

Adding basic support for SX1255 Soapy driver - #115

Merged
luarvique merged 7 commits into
luarvique:masterfrom
Circu1tI0N3rd:patch-sx1255-e4093e4
Aug 26, 2026
Merged

luarvique merged 7 commits into
luarvique:masterfrom
Circu1tI0N3rd:patch-sx1255-e4093e4

Conversation

@Circu1tI0N3rd

Copy link
Copy Markdown

Addiing support for SX1255-based Raspberry Pi HATs as Soapy SDR devices.

This PR seeks to add support for Semtech SX1255 transceiver RX capability as a Raspberry Pi HAT using SoapySX driver for SoapySDR backend. It adds 4 different variants:

  • M17 Project SX1255 HAT using 32 MHz TCXO as clock source;
  • A variant of the M17 Project SX1255 HAT using 36 Mhz TCXO as clock source;
  • A variant of the M17 Project SX1255 HAT using 36.864 Mhz TCXO as clock source;
  • And OH2EAT SXceiver or a variant of the M17 Project SX1255 HAT using 38.4 Mhz TCXO as clock source.

The 4 variants reflect the difference in sample rates used due to the usage of different TCXOs.

@luarvique

Copy link
Copy Markdown
Owner

Please, consider adding these devices as a single source type, with the variant selection via a setting.

@Circu1tI0N3rd

Copy link
Copy Markdown
Author

I'll review the class structure and try to merge... But I'm not sure if it's possible, since the sample rate selection alters significantly for each clock source used on the SX1255 HAT. For now, I'll remove the 36-MHz related sources, since the Soapy driver hasn't implemented methods to detect those clock frequencies yet, only 32 MHz and 38.4 MHz.

Maurice Woodruff Klivoslov added 2 commits August 23, 2026 23:17
Substantially replacing sample rate selection with clock select and prescaler se
lect, then sample rate is calculated later and provided to CommandMapper.
@luarvique

Copy link
Copy Markdown
Owner

Yep. That's the spirit! Will likely merge it for the next release, once 1.2.122 comes out.

@Circu1tI0N3rd

Copy link
Copy Markdown
Author

I've merged all the redundant devices into one - sxceiver.py - with the following alterations:

  • Adding clk_freq for variant reflection, specified as "required" in device settings;
  • Replacing samp_rate with clk_prescaler for sample rate adaptiveness per clk_freq;
  • Back-propagating now-missing samp_rate via a sample rate calculator function, handled at every possible samp_rate references within SdrSource

At the present, only two variants is supported: 32 MHz (M17 Project SX1255 HAT) and 38.4 MHz (OH2EAT SXceiver).

@luarvique
luarvique merged commit cb877c9 into luarvique:master Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants