daniestevez / gr-satellites

GNU Radio decoder for Amateur satellites
GNU General Public License v3.0
790 stars 163 forks source link

Add support for AEPEX #675

Closed git-addrian closed 1 month ago

git-addrian commented 1 month ago

Per discussion here, adding gr-satellites support for the Atmospheric Effects of Precipitation through Energetic X-Rays (AEPEX) mission. The decoder created is for 70cm telemetry.

git-addrian commented 1 month ago

Hey @daniestevez , I have made the requested changes. Some notes:

Best, Adrian

daniestevez commented 1 month ago

Thanks @git-addrian! The code looks good now. However CI is failing. The error is ModuleNotFoundError: No module named 'satellites'. Sometimes I've seen Python errors in the satellites module cause this ModuleNotFoundError because of how it is imported within a try statement. The real error gets eaten up, which doesn't make the cause obvious.

Can you take at look at this? If this is working fine for you locally, I can take a look too. Maybe the CI pipeline is broken and would also fail for the main branch.

daniestevez commented 1 month ago

I found the problem by building locally and importing the python module from the build directory:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/daniel/gr-satellites/python/__init__.py", line 54, in <module>
    from .adsb_kml import adsb_kml
  File "/home/daniel/gr-satellites/python/adsb_kml.py", line 15, in <module>
    from .telemetry import gomx_3 as tlm
  File "/home/daniel/gr-satellites/python/telemetry/__init__.py", line 22, in <module>
    from .aepex_70cm import aepex_70cm
  File "/home/daniel/gr-satellites/python/telemetry/aepex_70cm.py", line 18, in <module>
    from .aepex_sw_stat import aepex_sw_stat
  File "/home/daniel/gr-satellites/python/telemetry/aepex_sw_stat.py", line 13, in <module>
    from .adapters import PolynomialAdapter, LinearAdapter
ModuleNotFoundError: No module named 'python.telemetry.adapters'

The problem is that this line

from .adapters import PolynomialAdapter, LinearAdapter

should say

from ..adapters import PolynomialAdapter, LinearAdapter

Can you fix this and test locally that the telemetry parser runs correctly afterwards (since there are no unit tests for it)?

git-addrian commented 1 month ago

Hey @daniestevez , I was able to fix that line, build it, and confirm it was working with some different test telemetry. I also fixed the following:

Please let me know if there are any other changes to be made!

daniestevez commented 1 month ago

AEPEX.yml was not pointing to its decoder, 'aepex_70cm'.

Good point. I didn't notice this.