diff --git a/QGL/drivers/APS2Pattern.py b/QGL/drivers/APS2Pattern.py index ec7ab94c..2272e68c 100644 --- a/QGL/drivers/APS2Pattern.py +++ b/QGL/drivers/APS2Pattern.py @@ -24,6 +24,7 @@ import pickle import struct +import sys import numpy as np from QGL import Compiler, ControlFlow, BlockLabel, PatternUtils @@ -258,9 +259,9 @@ def __str__(self): wfOpCode = (self.payload >> 46) & 0x3 wfOpCodes = ["PLAY", "TRIG", "SYNC", "PREFETCH"] out += wfOpCodes[wfOpCode] - out += "; TA bit={}".format((self.payload >> 45) & 0x1) - out += ", count = {}".format((self.payload >> 24) & 2**21 - 1) - out += ", addr = {}".format(self.payload & 2**24 - 1) + out += "; TA_bit={}".format((self.payload >> 45) & 0x1) + out += ", count={}".format((self.payload >> 24) & 2**21 - 1) + out += ", addr={}".format(self.payload & 2**24 - 1) # # APS3/TDM modifier to use VRAM output # if self.payload & (1 << 48): @@ -271,7 +272,7 @@ def __str__(self): mrkOpCodes = ["PLAY", "TRIG", "SYNC"] out += mrkOpCodes[mrkOpCode] out += "; state={}".format((self.payload >> 32) & 0x1) - out += ", count = {}".format(self.payload & 2**32 - 1) + out += ", count={}".format(self.payload & 2**32 - 1) elif instrOpCode == MODULATION: modulatorOpCode = (self.payload >> 45) & 0x7 @@ -293,21 +294,21 @@ def __str__(self): cmpCodes = ["EQUAL", "NOTEQUAL", "GREATERTHAN", "LESSTHAN"] cmpCode = (self.payload >> 8) & 0x3 out += " | " + cmpCodes[cmpCode] - out += ", value = {}".format(self.payload & 0xff) + out += ", value={}".format(self.payload & 0xff) elif any( [instrOpCode == op for op in [GOTO, CALL, RET, REPEAT, PREFETCH]]): - out += " | target addr = {}".format(self.payload & 2**26 - 1) + out += " | target_addr={}".format(self.payload & 2**26 - 1) elif instrOpCode == LOAD: - out += " | count = {}".format(self.payload) + out += " | count={}".format(self.payload) elif instrOpCode == CUSTOM: store_addr = self.payload & 0xFFFF load_addr = (self.payload >> 16) & 0xFFFF instruction = (self.payload >> 32) & 0xFF instructionAPS = TDM_CUSTOM_DECODE[instruction] - out += " | instruction = {0} ({1}), load_addr = 0x{2:0x}, store_addr = 0x{3:0x}".format(instruction, instructionAPS, load_addr, store_addr) + out += " | instruction={0} ({1}), load_addr=0x{2:0x}, store_addr=0x{3:0x}".format(instruction, instructionAPS, load_addr, store_addr) elif instrOpCode == WRITEADDR: addr = self.payload & 0xFFFF @@ -333,7 +334,7 @@ def __str__(self): addr = (self.payload >> 16) & 0xFFFF value = (self.payload >> 32) & 0xFFFF - out += "{0} | addr = 0x{1:0x}, {2} = 0x{3:0x}".format(instrStr, addr, valueType, value) + out += "{0} | addr=0x{1:0x}, {2}=0x{3:0x}".format(instrStr, addr, valueType, value) elif instrOpCode == LOADCMP: addr = self.payload & 0xFFFF @@ -345,7 +346,7 @@ def __str__(self): src = "EXT" if use_ram: src = "RAM" - out += "LOADCMP | source = {0}, addr = 0x{1:0x}, read_mask = 0x{2:0x}".format(src, addr, mask) + out += "LOADCMP | source={0}, addr=0x{1:0x}, read_mask=0x{2:0x}".format(src, addr, mask) return out def __eq__(self, other): @@ -1447,14 +1448,16 @@ def write_tdm_seq(seq, tdm_fileName): # Utility Functions for displaying programs -def get_channel_instructions_string(channel): - return '/chan_{}/instructions'.format(channel) - -def raw_instructions(filename, channel = 1): - channelStr = get_channel_instructions_string(channel) - with h5py.File(filename, 'r') as fid: - raw_instrs = fid[channelStr].value.flatten() - return raw_instrs +def raw_instructions(fileName): + with open(fileName, 'rb') as FID: + target_hw = FID.read(4).decode('utf-8') + file_version = struct.unpack('= 0.1 numpy >= 1.11.1 scipy >= 0.17.1 networkx >= 1.11 -h5py >= 2.6.0 bokeh >= 0.12.13 diff --git a/setup.py b/setup.py index c4db92c2..a5ef0be3 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,6 @@ "numpy >= 1.11.1", "scipy >= 0.17.1", "networkx >= 1.11", - "h5py >= 2.6.0", "bokeh >= 0.12.13", # "pony >= 0.7.4", # This needs to be 0.7.4-dev ])