LimeSuite Wrapper on Go (Driver for LimeSDR Devices) Forked to add ability to transmit smaller buffers than just the fifo size
So far I need to do all the comments for the methods (since go auto-generates the documentation). But while I do that, you can check the examples. The documentation is available at: https://godoc.org/github.com/myriadrf/limedrv
So far there is a functional WBFM Radio that uses SegDSP for demodulating. You can check it at _examples/limefm. To compile, just go to the folder and run:
go buildIt will generate a limefm executable in the folder. It outputs the raw Float32 audio into stdout. For example, you can listen to the radio by using ffplay:
./limefm -antenna LNAL -centerFrequency 106300000 -channel 0 -gain 0.5 -outputRate 48000 | ffplay -f f32le -ar 48k -ac 1 -There is also a FFT Generator in fftaverage folder. The parameters need to be set in the code, but it does generate a nice JPEG with the FFT.
Since libLimeSuite doesn't generate static libraries by default (see myriadrf/LimeSuite#241), you should manually compile it to provide the libLimeSuite.a thats needed for static linking.
You can just do the normal LimeSuite build with -DBUILD_SHARED_LIBS=OFF to statically build LimeSuite (that does not break current dynamic linked stuff)
# Assumes in libLimeSuite folder
cmake .. -DBUILD_SHARED_LIBS=OFF
make -j8
sudo make installThen you can change the limewrap.go line with the linking definition from:
#cgo LDFLAGS: -lLimeSuiteto
#cgo LDFLAGS: -l:libLimeSuite.a -l:libstdc++.a -lm -lusb-1.0And then compile normally your application. The libLimeSuite should be embedded inside your executable.