mhostetter / gr-adsb

GNU Radio OOT module for demodulating and decoding ADS-B packets
GNU General Public License v3.0
143 stars 43 forks source link

Issue 18 #20

Closed potto216 closed 4 years ago

potto216 commented 4 years ago

Decided to not add specific instructions for using pipenv for #18 because in retrospect I felt the readme would become cluttered.

mhostetter commented 4 years ago

@potto216 thanks for your contribution!

mhostetter commented 4 years ago

I'm curious, did you really need to pip install pmt? I believe that python module comes with GNU Radio.

Just a couple questions. Did you do a source build or did you install binaries? If binaries, did you install gnuradio-devel?

potto216 commented 4 years ago

I did not build from source, but used what was in the Ubuntu repos with sudo apt install gnuradio gnuradio-dev Maybe python could not find the import pmt because when I tried to run the webserver I was using Python 3.7.4 in a virtual environment. I assumed that the system install needed pmt, however I did not try to run the webserver without it. This week I can spin up a VM and check if sudo pip install pmt is needed when just running with Python 2.7 in the system environment

mhostetter commented 4 years ago

Yeah, I'd be curious to know. I've only built GNU Radio from source and haven't needed to pip install pmt separately. It would be good to know to make the documentation as accurate as possible. Thanks.

potto216 commented 4 years ago

Your original instructions are fine. When I spun up a VM without using Python 3.x virtual environments the webserver worked following your original instructions. Therefore removing $ sudo pip install zmq $ sudo pip install pmt is in order. Also removing "To avoid installing the Python packages in the system folders consider using pipenv." is needed because pipenv only works with Python 3. Sorry about this, but the one positive is that it highlights that the web server may need edits before moving to Python 3. The only issue I had seen so far is that socket.setsockopt(zmq.SUBSCRIBE, b"") needs to be forced as a binary string. Since the webserver is independent of the ads-b python blocks a separate branch could be created which tests the webserver using Python 3. If you could use any help with that let me know.

mhostetter commented 4 years ago

Thanks for looking into this. I appreciate the help. Keep looking into the software and let me know what improvements you think I/we can make.