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 23, 2024
1 parent e51c225 commit 9e098d7
Show file tree
Hide file tree
Showing 3 changed files with 347 additions and 0 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
51 changes: 51 additions & 0 deletions python/telemetry/aepex_70cm.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# 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 9e098d7

Please sign in to comment.