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

Using the fsk modem in external projects? fsk_api.c / fsk_api.h needed? #42

Closed
xssfox opened this issue Mar 14, 2024 · 4 comments
Closed

Comments

@xssfox
Copy link

xssfox commented Mar 14, 2024

Hey team,

I've been playing with using the fsk.h and fsk library from libcodec2 for my selcall project. It's been working great as a modem for the project - many thanks for providing it.

I'm aware that this library likely isn't intended to be used in other projects like this. At the moment the usage is quite clunky, getting the user to compile libcodec2 from source and then setting CFLAGS="-I/path/to/codec2/src - this is because kiss_fftr.h isn't included in the installed header files when doing make install

I am wondering about the best way to approach this problem. Some options I see working are:

  • codec2 add kiss_fftr.h to the files exported to /usr/local/include/codec2
  • codec2 could provide an _api version of fsk, similar to the freedv_api approach which seems to work ok
  • I could vendor'ize the fsk specific components into my project

Thoughts?

@tmiw
Copy link
Collaborator

tmiw commented Mar 14, 2024

I don't recall if Codec2 made any changes to kiss_fft* but is it possible that including the https://github.com/mborgerding/kissfft project into your own project might work?

@drowe67
Copy link
Owner

drowe67 commented Mar 14, 2024

@xssfox sounds like a cool project. Given it's prototype code using libcodec2 outside of it's intended use cases, your current solution sounds fine. As per the codec 2 README support for one off or experimental projects is best done outside of libcodec2.

@xssfox
Copy link
Author

xssfox commented Mar 15, 2024

I've ended up adding codec2 as a git submodule and adjusted the build process to static link against it which somewhat solves my problems with distribution in the near term.

I think it might still be worth considering make fsk into something that could be easily included into other projects as it's a useful library to use for fsk modulation and demodulation. It's already in use not only in my project but horusdemodlib and likely others.

@drowe67
Copy link
Owner

drowe67 commented Mar 15, 2024

@xssfox - good to see you have a way fwd.

We're happy to consider you proposal - please free free to submit a feature request form.

@drowe67 drowe67 closed this as completed Mar 15, 2024
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

3 participants