I followed your directions for installing LimeSuite and other dependencies for your application as you wrote them in your procedure. Compiled and installed the SDRAngel application and it compiled and installed fine - I can bring up the window. Before I did that I did an SopaySDRUtil --find to ensure that the system could find my LimeSDR and it did. So then I launched SDRAngel and it came up fine, but in the device list I could not find the LimeSDR. So then I grabbed one of my RTL-SDRs and attached it to the USB 3.0 connection and it could find that in the Device List and it also did a GREAT job of operating in FM, AM, and SSB. My RTL-SDR has a RF Upconverter in it that allows it to be used in the HF band and it even demodulated SSB fine. Here is a snapshot of it working in the AM mode receiving one of my local AM radio stations at 1540 kHz (with 120 MHz upconversion because of my HF Upconverter):
So if SoapySDRUtil can find my LimeSDR and I made sure all the dependencies worked, then why canāt SDRAngel find the LimeSDR? Again, all the procedural steps were followed (to the best of my knowledge) yet no LimeSDR found in the device list.
Please let me know what I may be doing wrong here - this is compiled on Ubuntu 16.04. Otherwise your application is GREAT for my RTL-SDRā¦
glad you like it and thanks for the screenshot Since you can list the device with SopaySDRUtil that amost rules out the classical problem of udev rules. However to be 100% sure Iād try to use LimeUtil --find because the SDRangel plugin uses LimeSuite natively and so does LimeUtil. My second guess is that with the Qt plugin approach the compilation could run fine but still have unresolved dependencies that are supposed to be satisfied at run time. If this is the case then the plugin is not loaded and the corresponding device does not show up. Normally unresolved dependencies should be listed in the console messages when you start SDRangel. In any case if the LimeSDR plugins are loaded correctly they should appear in the list shown by Help->Loaded Pluginsā¦ There should be LimeSDR input and LimeSDR output rows in the list. If they donāt appear then we should chase what are the unresolved dependencies. LimeSuite itself needs sqlite3 so that might be the case that it is missing but it is just a guess.
Hi @F4EXB, @martywittrock
I built it yesterday with no issues. It sees the LimeSDR and I can select it for TX and RX, but the highest I can tune is 3.8MHz. Is there a band button somewhere I am missing?
It looks great, BTW. Nicely laid out UI.
/ Gerry
GREAT WORK on getting SDRAngel working with the Limeā¦! I followed Edouardās procedure (to the best of my knowledge) for both the LimeSuite dependencies and for the manner in compiling the SDRAngel app. Iām using Ubuntu 16.04 as the basis for my build. Can you document here the procedure you used to get yours to compile right? I just want to make sure Iām not losing anything with Edouardās procedure, too. Anything you can provide will be greatly appreciated and also let me know if there were certain tests you did to ensure that the Lime dependencies and SDRAngel were lined up.
did the usual mkdir build && cd build && cmake ā¦/ && make
cmake discovered the limesuite.h and liblimesuite.so files itself, and build proceeded as per normal.
itās worth stating that I had previously installed some of the dependencies, such as qt-dev
Gerry - Iām following you on most of what you have written, but Iām not sure what you mean by āadded myself to āplugdevā groupā. Can you expand on that a bit more? I think I did all the steps youāve done with the exception of that question Iām asking.
SDRAngel builds and runs fine on my 64bit Ubuntu 16.04LTS laptop. All dependencies were already in place due to prior requirements and this is what I did:
git clone https://github.com/f4exb/sdrangel.git
cd sdrangel
mkdir build
cd build
cmake -DLIMESUITE_INCLUDE_DIR=/usr/include/lime/ -DLIMESUITE_LIBRARY=/usr/lib/x86_64-linux-gnu/libLimeSuite.so ā¦
make
@martywittrock
The udev rules specify the USB device to be created with user root and group plugdev. By default, standard users arenāt members of this group, so I just did āusermod -a -G plugdev gerrykā, and logged out and back in.
Maybe you figured it out already but the frequency dials are in kHz units so the displayed 3.800.000 actually means 3.8 GHz which is LimeSDR limit. The main LO goes down to 30 MHz so to get below that limit down to the 100 kHz RF limit you will have to use the NCO.
Forgot about the plugdev thingā¦ Yes a few devices are created under the plugdev group so your user needs to be a member of this group. Similar cases are HackRF and BladeRF.
Yep - figured that out already on the frequency entry, but like the demod frequency skew for any demod. Also, how does one select the NCO for HF? Please let us know.
Basically you engage the NCO with button (3) . The center frequency after mixing (before on Tx) is arranged with the thumb-wheel dial (5). The possible span depends on the sample rate set with (10) so that the maximum span around the center LO frequency set with the big dial (1) is equal to the sample rate (i.e. +/- half the sample rate). You can use the FIR filter with button (12) and dial (13) to filter around the resulting frequency (5). In fact this is designed according to LMS7002M internals. You can IF shift from any LO frequency this way thus rejecting the remaining DC outside passband. This is useful not only for HF and since this is hardware there is no processing cost on the host PC side. The Lime clearly stands out from its peers on this point. The hardware decimation/interpolation (set with combo #8) is also nice.
RX still works. There are (software) clipleads still in the RX support code, and I donāt have RX antenna selection setup yet, but the stream control, gain, and frequency control all work just fine.
TX is still a problem. I can now transmit CW reliably, but there are issues with SoapyLMS7::readStreamStatus not finding the END_BURST marker. Iāve filed an āissueā on that. The symptom is that _BT or _SK (which should terminate TX mode) are truncated to a little chirp and the TX turns off.
I suspect the same issue is in the way of the SSB path. I can send an SSB signal but it is delayed by almost 18 seconds. This is what Iād expect if all the TX buffers were full before the first audio modulation was applied and sent to the hardware. Fixing this problem will wait until I can get reliable stream status.
The RX came together very quickly. TX is always hard, for any new platform. Iāve got about 30+ hours into that part of the venture so far. If we get the readStreamStatus thing fixed, I think it will only take a few more hours to get to the point where it is worth trying.
For the truly adventuresome, the SoDaRadio code is in the LimePort2 branch of the repo. No claims are made as to usability, function, safety, courtesy, kindness, obedience, cheerfulness, thrift, bravery, cleanliness, or reverence. ymmv.
Keep at itā¦Every software package has its gives and takes and Iām certainly waiting for the time when yours is ready so I can check it out - - Again, keep at it - the audience is LARGE for a transceiver app for the LimeSDR.
Thanks for writing back with more into - that will be helpful when I have time tomorrow to play with SDRAngel and the LimeSDR since I performed the change that Gerry recommended and now I have the LimeSDR receiving and have transmit capability. I went searching for transmit with my Yaesu FT-757 at 144.000 MHz in NBFM mode and was not able to hear the transmit signal out of the Lime. I have modulation because I have it selected correctly, see it in the modulation meter on the NBFM plug-in, and see it in the transmit waterfallā¦But not hearing anything when Iām tuned at 144.000 MHz on my Yaesu and have the Lime tuned at 144000 in the SDRAngel app. I tried both the TX1-L and TX1-H ports with an antenna and did not hear anything across the room on my Yaesu. Can you advise which port is active in transmit and if Iām missing something (like a transmit gain control?).
Otherwise, the app is beautiful on receive - great job on that.
Let us all know on the above at your soonest - 73 de Marty, KN0CK
Did the udev rules on the plugdev and it worked like a champ - Iām on transmit now, but still searching for my signal at 144.000 MHz. Let me know if youāre transmitting and hearing something from your Lime.
I donāt know if thatās related because I use LimeSuite directly but I had all sorts of problems with Tx until I set the timeout on the send stream call to 1 second. Last parameter is the timeout in microseconds:
res = LMS_SendStream(m_stream, (void *) m_buf, LIMESDROUTPUT_BLOCKSIZE, &metadata, 1000000);
It appears that if it is too short then it doesāt wait until the sending is complete.
first you need to add a sink device with the Device->Add sink device in the main window top bar menu. This will open a new set of tabs tagged āT1ā.
Then in the Sampling devices control section you have to select and validate (with the check button) the LimeSDR. Then from the combo just below you need select and add a modulator with the ā+ā button. Eventually you fire everything up with the āPlayā button in the top left of the Sampling devices section. You should see a peak centered in the main spectrum display.
This should send a carrier (except in SSB). On AM, FM and WFM you can send a tone with the button with the carrier icon just below the āVolā. Details can be found in each modulator plugin readme: