Skip to content

Commit

Permalink
AEPEX: Decoder Created
Browse files Browse the repository at this point in the history
  • Loading branch information
adbr6125 committed Oct 24, 2024
1 parent e51c225 commit 7c4144f
Show file tree
Hide file tree
Showing 5 changed files with 517 additions and 3 deletions.
20 changes: 20 additions & 0 deletions python/satyaml/AEPEX.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: AEPEX
norad: 98864
data:
&tlm Telemetry:
telemetry:
transmitters:
9k6 GFSK downlink:
frequency: 437.325e+6
modulation: GFSK
baudrate: 9600
framing: AX.25 G3RUH
data:
- *tlm
19k6 FSK downlink:
frequency: 437.325e+6
modulation: GFSK
baudrate: 19200
framing: AX.25 G3RUH
data:
- *tlm
3 changes: 2 additions & 1 deletion python/telemetry/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ GR_PYTHON_INSTALL(
FILES
__init__.py
aausat4.py
aepex_70cm.py
aepex_sw_stat.py
amicalsat.py
au03.py
ax25.py
Expand All @@ -50,7 +52,6 @@ GR_PYTHON_INSTALL(
delfic3.py
delfipq.py
dstar_one.py
erminaz.py
eseo.py
fossasat.py
fossasat_1b.py
Expand Down
3 changes: 1 addition & 2 deletions python/telemetry/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import construct

from .aausat4 import aausat4
from .aepex_70cm import aepex_70cm
from .amicalsat import amicalsat
from .au03 import au03
from .ax25 import ax25
Expand All @@ -27,13 +28,11 @@
from .by70_1 import by70_1
from .cirbe_70cm import cirbe_70cm
from .csp import csp
from .csp import cspv2
from .ctim_70cm import ctim_70cm
from .cute_70cm import cute_70cm
from .delfic3 import delfic3
from .delfipq import delfipq
from .dstar_one import dstar_one
from .erminaz import erminaz
from .eseo import eseo
from .floripasat import floripasat
from .fossasat_1b import fossasat_1b
Expand Down
48 changes: 48 additions & 0 deletions python/telemetry/aepex_70cm.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Copyright 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Daniel Estevez
# <[email protected]>
# Copyright 2024 The Regents of the University of Colorado
#
# This file is part of gr-satellites
#
# SPDX-License-Identifier: GPL-3.0-or-later
#

from datetime import datetime
from construct import Adapter, BitsInteger, BitStruct, Container, Enum, \
Flag, GreedyBytes, If, Int8ub, Int16ub, Int32ub, \
Padding, RawCopy, Struct, Switch
from .ax25 import Header
from ..ccsds import space_packet as ccsds_space_packet

from .aepex_sw_stat import aepex_sw_stat

PrimaryHeader = BitStruct(
'VERSION' / BitsInteger(3),
'TYPE' / BitsInteger(1),
'SEC_HDR_FLAG' / BitsInteger(1),
'PKT_APID' / BitsInteger(11),
'SEQ_FLGS' / BitsInteger(2),
'SEQ_CTR' / BitsInteger(14),
'PKT_LEN' / BitsInteger(16),
)

SecondaryHeader = BitStruct(
'SHCOARSE' / BitsInteger(32),
'SHFINE' / BitsInteger(16)
)

aepex_70cm = Struct(
'ax25_header' / Header,
'primary_header' / PrimaryHeader,
'secondary_header' / If(
lambda c: c.primary_header.SEC_HDR_FLAG,
SecondaryHeader
),
'packet' / Switch(
lambda c: c.primary_header.PKT_APID,
{
0x01: aepex_sw_stat
}
)

)
Loading

0 comments on commit 7c4144f

Please sign in to comment.