Probably off-topic: adding RX center frequency tuning to original Openwebrx code

I hope this isn't too far off topic...

In addition to my KiwiSDR which is running very nicely (though noise abatement is still underway) I'd like to run a tunable VHF/UHF receiver for our local contest group. I currently have an Airspy R2 connected to Andras' original openwebrx software and it works well, but the interface does not allow the receiver center frequency to be changed. I can understand the reason for that where multiple user tune commands could stomp on one another, but in our application that risk is OK.

What I'd like to do is implement something like KiwiSDR's ability to enter a tuned frequency in kHz via the right-side panel to the original openwebrx code. I've been looking at the openwebrx.js code in both programs and it's clear that they've diverged pretty significantly, so I'm not sure how complex this might be.

If anyone has any thoughts or experience that might help me out, I'd love to hear them. I don't mind doing some coding but javascript/html5/websockets isn't my native turf so a push in the right direction would be a huge help.

Thanks,
John

Comments

  • jksjks
    edited January 2019
    Hi John. Nice to see you here. I didn't realize you were a Kiwi owner.

    I'm not too familiar about using OpenWebRX with other hardware. But my understanding is that the cf and sample rate (hence bandwidth that owrx sees) is hardwired into the config_webrx.py file. You can also setup that file to call a command called rx_sdr to pass the cf and/or sample rate back upstream to the particular sdr hardware (including Airspy).

    Trying to change the cf with multiple users connected to owrx is a problem because when it changes all of the connections would have to get notified so the common frequency scale gets updated on each. The Kiwi doesn't have this problem because each connection channel has its own sdr upstream effectively (one DDC for the audio and one for the zoom waterfall).

    So I don't think this is quite as simple as just adding a new field to the control panel for setting the cf (although that would be a prerequisite).
  • Yes, the multiuser aspect is a problem, but for this case I'm willing to put up with it; we can set to allow only one user at a time if necessary. (We want to put a VHF receiver at our remote ham radio contest location so we can monitor conditions. It's very unlikely more than one person would sign in at a time.) The center frequency is hard-wired in config_webrx.py. I know some python, but nothing about this sort of web programming. I was hoping that I could find an example for user data input and then copy that to turn the frequency field in openwebrx into an editable form the way it is in the kiwisdr version. But the openwebrx.py doesn't have any user keyboard input fields, so there's nothing for me to copy from. And your version is so rewritten that I can't figure out how to translate from it to Andras' version. :-( I'll keep plugging and sooner or later will figure it out.
  • But do you really need users to change the cf of the Airspy? Doesn't it have 5 MHz of bandwidth such that users can tune anywhere within the cf +/- 2.5 MHz independently of each other? Maybe this is the issue -- that you want to have the users change the cf to multiple VHF/UHF bands outside the range of the current 5 MHz b/w.
  • Exact same thing for me - the rule would be only admins could change the CF and full well knowing it would impact the other users. Example would be if I wanted a kiwi to monitor air band and nobody else was on and I wanted to switch to a scanner at a higher freq. I could shift the entire spectrum up to the local scanner range.
  • I run a Kiwi at my house, and host a second Kiwi on some mountain property I own. I want to add a remote Airspy. I looked at the original OpenWebRX project, now maintained by
    DD5JFK. That software is deliberately crippled, as described above, over legal concerns of an unrestricted online receiver in some countries. I want full use of my Airspy without having to write 670 individual profiles. I see that the BeagleBone has an available USB port. Either one of the following two options would be really cool:

    1. Add Airspy support to the Kiwi/BeagleBone device using the open USB port.
    2. Release a Raspberry Pi image containing the Kiwi branch of OpenWebRX, modified to support the Airspy.

    I'm not a coder, or I would try to do this myself.
Sign In or Register to comment.