Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Standalone version of libsddc? #208

Open
AlexandreRouma opened this issue Oct 11, 2021 · 7 comments
Open

Standalone version of libsddc? #208

AlexandreRouma opened this issue Oct 11, 2021 · 7 comments

Comments

@AlexandreRouma
Copy link

Hello,

Is there any plans to separate libsddc from the ExtIO?
Not only would this make the code much cleaner with clean separation between the device library and the ExtIO interface,
but it would also allow developers of SDR applications that do not support ExtIO to interface with the SDDC devices easily.

Regards,
Alex

@fventuri
Copy link
Collaborator

Alex,
I can't speak for them of course, but I have the impression from the recent activity on this repository that Howard and Oscar do not have currently time to work on such a major feature.

On the other hand, if you or someone else are interested on working on it, I'll be happy to help for what I can, since I also have a full time job during the day.

Franco

@howard0su
Copy link
Collaborator

what set of features you are looking for? I am thinking only put a small set of functions into sddc, which mainly control the hardware and stream out the raw ADC samples. And the application can further down sampling and do some other calculation. Is that aligned with your requirement?

@AlexandreRouma
Copy link
Author

the library should match exactly the capabilities of the hardware. So for example, since the hardware has no way of resampling and outputs real values, this is what the library should do. But it should also allow to:

  • enumerate devices
  • aquire a device
  • get device ranges: ADC samplerate min/max, gains min.max, tuner frequency min/max, etc...
  • set device parameters (same as above)
  • start/stop stream
  • release device

I'd suggest making the API similar to the one of libairspy, librtlsdr, libbladerf, etc...

@howard0su
Copy link
Collaborator

howard0su commented Dec 16, 2021

what is the thread model you prefer? Like the original libssdc https://github.com/fventuri/libsddc which uses a sync API.

If that works for you, I can adopt that one with the latest firmware.

@AlexandreRouma
Copy link
Author

Depends on how the backend works. If you're using async calls for libusb, it's lilely better to make it async. If you're using sync calls, a synchronous API will be better.

Btw, from what I remember, that versioin of the library was pretty broken and unfinished the last time I tried it, not sure if that has changed since then.

@AlexandreRouma
Copy link
Author

Hello,
Any update on this?

@ik1xpv
Copy link
Owner

ik1xpv commented Mar 15, 2022

Hi All,
I am thinking about a decimation scheme that includes the whole dsp process and also demodulation.
See: https://sdr-prototypes.blogspot.com/2022/02/down-sampling-more.html
ExtIO_sddc.dll allowed to verify the ADC+FX3 scheme without having to write the whole dsp stream.
I'm lazy :-).

Ciao
Oscar

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

No branches or pull requests

4 participants