Changeset 38d2a8b in ammosreader


Ignore:
Timestamp:
06/30/22 11:35:30 (3 years ago)
Author:
Enrico Schwass <ennoausberlin@…>
Branches:
AmmosSource, guix
Children:
6ded698
Parents:
ca6263a
Message:

set endiness explicitly to little on every struct.unpack

Files:
7 edited

Legend:

Unmodified
Added
Removed
  • ammosreader/AbstractAmmosReader.py

    rca6263a r38d2a8b  
    1212class AbstractAmmosReader(ABC):
    1313    """I implement a base class for specialized AmmosReaders."""
    14 
    15     GLOBAL_HEADER_SIZE = 24  # 8 words
    1614
    1715    def __init__(self, file_name):
     
    8179        :rtype: AmmosGlobalFrameHeader
    8280        """
    83         bytes = self.ammos_file.read(AbstractAmmosReader.GLOBAL_HEADER_SIZE)
     81
     82        header_size = AmmosGlobalFrameHeader.HEADER_SIZE
     83
     84        bytes = self.ammos_file.read(header_size)
    8485        logging.info("Reading next global frame header")
    85         if ((not bytes) or (len(bytes) < AbstractAmmosReader.GLOBAL_HEADER_SIZE)):
    86             logging.debug("Can not read all %s bytes of global frame header", AbstractAmmosReader.GLOBAL_HEADER_SIZE)
     86        if ((not bytes) or (len(bytes) < header_size)):
     87            logging.debug("Can not read all %s bytes of global frame header", header_size)
    8788            return None
    8889
  • ammosreader/AmmosExtendedAudioDataHeader.py

    rca6263a r38d2a8b  
    55
    66
    7 class AmmosExtendedAudioDataHeader():
     7class AmmosExtendedAudioDataHeader:
    88
    99    HEADER_SIZE = 44  # 11 words
     
    1414        assert len(bytes) == cls.HEADER_SIZE
    1515        standard_header = AmmosAudioDataHeader.from_bytes(bytes[0:AmmosAudioDataHeader.HEADER_SIZE])
    16         extended_header_elements = struct.unpack('Q', bytes[AmmosAudioDataHeader.HEADER_SIZE:])
     16        extended_header_elements = struct.unpack('<Q', bytes[AmmosAudioDataHeader.HEADER_SIZE:])
    1717        timestamp = extended_header_elements[0]
    1818        sample_rate = standard_header.sample_rate
  • ammosreader/AmmosExtendedIFDataHeader.py

    rca6263a r38d2a8b  
    1313        """I return an AMMOS extended data header from given bytes."""
    1414        standard_header = AmmosIFDataHeader.from_bytes(bytes[0:AmmosIFDataHeader.HEADER_SIZE])
    15         extended_header_elements = struct.unpack('QQI', bytes[AmmosIFDataHeader.HEADER_SIZE:cls.HEADER_SIZE])
     15        extended_header_elements = struct.unpack('<QQI', bytes[AmmosIFDataHeader.HEADER_SIZE:cls.HEADER_SIZE])
    1616        block_count = standard_header.block_count
    1717        block_length = standard_header.block_length
  • ammosreader/AmmosGlobalFrameHeader.py

    rca6263a r38d2a8b  
    55
    66    MAGIC_WORD = "726574fb"
     7    HEADER_SIZE = 24
    78
    89    @classmethod
    910    def from_bytes(cls, bytes):
    1011
    11         elements = struct.unpack('4s4s4s4s4s4s', bytes)
     12        elements = struct.unpack('<4s4s4s4s4s4s', bytes)
    1213
    1314        magic_word = elements[0].hex()
  • ammosreader/AmmosIFDataBlockHeader.py

    rca6263a r38d2a8b  
    1313        elements = struct.unpack('<ccH', bytes)
    1414        header = cls()
    15         first_entry = int.from_bytes(elements[0], byteorder='big')
     15        first_entry = int.from_bytes(elements[0], byteorder='little')
    1616        header.invalidity = ((first_entry & 1) == 1)
    1717        header.blanking = ((first_entry & 2) == 1)
    1818        header.user_data = ((first_entry & 252))
    19         header.reserved = int.from_bytes(elements[1], byteorder='big')
     19        header.reserved = int.from_bytes(elements[1], byteorder='little')
    2020        header.reciprocal_gain = elements[2]
    2121        return header
  • ammosreader/PDW.py

    rca6263a r38d2a8b  
    2626        assert(len(byte_string) == 32)
    2727
    28         parts = struct.unpack('Q4s4s4s4s4s4s', byte_string)
     28        parts = struct.unpack('<Q4s4s4s4s4s4s', byte_string)
    2929        nanoseconds = (parts[0])
    3030        time_of_arrival = np.datetime64(nanoseconds, 'ns')
  • sample_scripts/iqdw_reader.py

    rca6263a r38d2a8b  
    33import sys
    44import os
    5 sys.path.append('../src/')
    65
    76from ammosreader.AmmosIFReader import AmmosIFReader
Note: See TracChangeset for help on using the changeset viewer.