diff --git a/opendis/dis7.py b/opendis/dis7.py index b7f7189..eefd59a 100644 --- a/opendis/dis7.py +++ b/opendis/dis7.py @@ -5403,7 +5403,7 @@ def __init__(self): self.numberOfTargetsInTrackJam = 0 self.highDensityTrackJam = 0 self.jammingModeSequence = 0 - self.trackJamRecord = TrackJamData(); + self.trackJamRecords = []; def serialize(self, outputStream): outputStream.write_unsigned_byte(self.systemDataLength); @@ -5420,7 +5420,9 @@ def serialize(self, outputStream): outputStream.read_unsigned_byte(self.highDensityTrackJam); outputStream.read_unsigned_byte(0); # 8 bit padding outputStream.read_unsigned_int(self.jammingModeSequence); - self.trackJamRecord.serialize(outputStream); + + for anObj in self.trackJamRecords: + anObj.serialize(outputStream) def parse(self, inputStream): self.systemDataLength = inputStream.read_unsigned_byte(); @@ -5437,7 +5439,11 @@ def parse(self, inputStream): self.highDensityTrackJam = inputStream.read_unsigned_byte(); inputStream.read_unsigned_byte(); # 8 bit padding self.jammingModeSequence = inputStream.read_unsigned_int(); - self.trackJamRecord.parse(inputStream); + + for idx in range(0, self.numberOfTargetsInTrackJam): + element = TrackJamData() + element.parse(inputStream) + self.trackJamRecords.append(element) class ResupplyOfferPdu( LogisticsFamilyPdu ): diff --git a/tests/testElectromageneticEmissionPdu.py b/tests/testElectromageneticEmissionPdu.py index c3a1f2a..2f8bfb7 100644 --- a/tests/testElectromageneticEmissionPdu.py +++ b/tests/testElectromageneticEmissionPdu.py @@ -51,11 +51,11 @@ def test_parse(self): self.assertEqual(0, pdu.systems[0].highDensityTrackJam) self.assertEqual(0, pdu.systems[0].jammingModeSequence) - self.assertEqual(23, pdu.systems[0].trackJamRecord.entityID.siteID) - self.assertEqual(1, pdu.systems[0].trackJamRecord.entityID.applicationID) - self.assertEqual(1, pdu.systems[0].trackJamRecord.entityID.entityID) - self.assertEqual(0, pdu.systems[0].trackJamRecord.emitterNumber) - self.assertEqual(0, pdu.systems[0].trackJamRecord.beamNumber) + self.assertEqual(23, pdu.systems[0].trackJamRecords[0].entityID.siteID) + self.assertEqual(1, pdu.systems[0].trackJamRecords[0].entityID.applicationID) + self.assertEqual(1, pdu.systems[0].trackJamRecords[0].entityID.entityID) + self.assertEqual(0, pdu.systems[0].trackJamRecords[0].emitterNumber) + self.assertEqual(0, pdu.systems[0].trackJamRecords[0].beamNumber) if __name__ == '__main__':