1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright 2024 Daniel Estevez <daniel@destevez.net>
#
# This file is part of gr-satellites
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
from construct import *
TMPrimaryHeader = BitStruct(
'transfer_frame_version_number' / BitsInteger(2),
'spacecraft_id' / BitsInteger(10),
'virtual_channel_id' / BitsInteger(3),
'ocf_flag' / Flag,
'master_channel_frame_count' / BitsInteger(8),
'virtual_channel_frame_count' / BitsInteger(8),
'secondary_header_flag' / Flag,
'synch_flag' / Flag,
'packet_order_flag' / Flag,
'segment_length_id' / BitsInteger(2),
'first_header_pointer' / BitsInteger(11)
)
erminaz = Struct(
'primary_header' / TMPrimaryHeader,
'data_field' / HexDump(GreedyBytes)
)
|