summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
inline | side by side (from parent 1:
ecb0b96)
Move initialization code of protocol decoders from the constructor to a
new reset() helper method. The libsigrokdecode backend could run this
method several times to clear the decoder's internal state, before new
data from another acquisition gets fed to decode() calls.
79 files changed:
self.mosi_bytes, self.miso_bytes = [], []
def __init__(self):
self.mosi_bytes, self.miso_bytes = [], []
def __init__(self):
+ self.reset()
+
+ def reset(self):
self.ss_cmd, self.es_cmd = 0, 0
self.reset_data()
self.ss_cmd, self.es_cmd = 0, 0
self.reset_data()
+ self.reset()
+
+ def reset(self):
self.bits = []
def start(self):
self.bits = []
def start(self):
+ self.reset()
+
+ def reset(self):
self.ss_cmd, self.es_cmd = 0, 0
self.mosi_bytes = []
self.ss_cmd, self.es_cmd = 0, 0
self.mosi_bytes = []
return checksum % 256
def __init__(self):
return checksum % 256
def __init__(self):
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.reset_variables()
self.samplerate = None
self.reset_variables()
+ self.reset()
+
+ def reset(self):
self.buf = []
self.syncbuf = []
self.prevsample = 0
self.buf = []
self.syncbuf = []
self.prevsample = 0
+ self.reset()
+
+ def reset(self):
self.buf = []
self.syncbuf = []
self.swpackets = {}
self.buf = []
self.syncbuf = []
self.swpackets = {}
+ self.reset()
+
+ def reset(self):
self.buf = []
self.syncbuf = []
self.prevsample = 0
self.buf = []
self.syncbuf = []
self.prevsample = 0
+ self.reset()
+
+ def reset(self):
self.ncnt = 0
self.nmax = 0
self.addr = 0
self.ncnt = 0
self.nmax = 0
self.addr = 0
+ self.reset()
+
+ def reset(self):
self.state = 'IDLE'
self.mosi_bytes, self.miso_bytes = [], []
self.ss_cmd, self.es_cmd = 0, 0
self.state = 'IDLE'
self.mosi_bytes, self.miso_bytes = [], []
self.ss_cmd, self.es_cmd = 0, 0
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.clear_state()
self.samplerate = None
self.clear_state()
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.reset_variables()
self.samplerate = None
self.reset_variables()
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.samplenum = None
self.edges, self.bits, self.ss_es_bits = [], [], []
self.samplerate = None
self.samplenum = None
self.edges, self.bits, self.ss_es_bits = [], [], []
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.state = 'WAIT FOR RISING EDGE'
self.ss_bit = self.ss_bit_old = self.es_bit = self.ss_block = 0
self.samplerate = None
self.state = 'WAIT FOR RISING EDGE'
self.ss_bit = self.ss_bit_old = self.es_bit = self.ss_block = 0
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.sample_usec = None
self.run_start = -1
self.samplerate = None
self.sample_usec = None
self.run_start = -1
+ self.reset()
+
+ def reset(self):
self.state = 'IDLE'
self.hours = -1
self.minutes = -1
self.state = 'IDLE'
self.hours = -1
self.minutes = -1
+ self.reset()
+
+ def reset(self):
# Bytes for function command.
self.bytes = []
self.family_code = None
# Bytes for function command.
self.bytes = []
self.family_code = None
+ self.reset()
+
+ def reset(self):
self.trn_beg = 0
self.trn_end = 0
self.state = 'ROM'
self.trn_beg = 0
self.trn_end = 0
self.state = 'ROM'
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.samplenum = None
self.edges, self.bits, self.ss_es_bits = [], [], []
self.samplerate = None
self.samplenum = None
self.edges, self.bits, self.ss_es_bits = [], [], []
+ self.reset()
+
+ def reset(self):
self.state = None
# Received data items, used as an index into samplenum/data
self.cnt = 0
self.state = None
# Received data items, used as an index into samplenum/data
self.cnt = 0
+ self.reset()
+
+ def reset(self):
self.reset_variables()
def start(self):
self.reset_variables()
def start(self):
+ self.reset()
+
+ def reset(self):
self.frame = []
def start(self):
self.frame = []
def start(self):
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.oldpin = None
self.last_samplenum = None
self.samplerate = None
self.oldpin = None
self.last_samplenum = None
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.last_samplenum = None
self.state = 'FFS_SEARCH'
self.samplerate = None
self.last_samplenum = None
self.state = 'FFS_SEARCH'
+ self.reset()
+
+ def reset(self):
self.items = []
self.itemcount = 0
self.saved_item = None
self.items = []
self.itemcount = 0
self.saved_item = None
annotation_rows = tuple((u, v, (i,)) for i, (u, v) in enumerate(annotations))
def __init__(self):
annotation_rows = tuple((u, v, (i,)) for i, (u, v) in enumerate(annotations))
def __init__(self):
+ self.reset()
+
+ def reset(self):
self.num_channels = 0
self.samplerate = None
self.last_n = deque()
self.num_channels = 0
self.samplerate = None
self.last_n = deque()
self.put(self.ss_edge, self.samplenum, self.out_ann, data)
def __init__(self):
self.put(self.ss_edge, self.samplenum, self.out_ann, data)
def __init__(self):
+ self.reset()
+
+ def reset(self):
self.ss_edge = None
def start(self):
self.ss_edge = None
def start(self):
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.ss = self.es = self.ss_byte = -1
self.bitcount = 0
self.samplerate = None
self.ss = self.es = self.ss_byte = -1
self.bitcount = 0
outputs = [] # TODO: Only known at run-time.
def __init__(self):
outputs = [] # TODO: Only known at run-time.
def __init__(self):
+ self.reset()
+
+ def reset(self):
self.packets = [] # Local cache of I²C packets
self.slaves = [] # List of known slave addresses
self.stream = -1 # Current output stream
self.packets = [] # Local cache of I²C packets
self.slaves = [] # List of known slave addresses
self.stream = -1 # Current output stream
+ self.reset()
+
+ def reset(self):
self.curslave = -1
self.curdirection = None
self.packets = [] # Local cache of I²C packets
self.curslave = -1
self.curdirection = None
self.packets = [] # Local cache of I²C packets
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.oldws = 1
self.bitcount = 0
self.samplerate = None
self.oldws = 1
self.bitcount = 0
+ self.reset()
+
+ def reset(self):
self.saved_ATN = False
self.saved_EOI = False
self.ss_item = self.es_item = None
self.saved_ATN = False
self.saved_EOI = False
self.ss_item = self.es_item = None
'%s' % btn[1]]])
def __init__(self):
'%s' % btn[1]]])
def __init__(self):
+ self.reset()
+
+ def reset(self):
self.state = 'IDLE'
self.ss_bit = self.ss_start = self.ss_other_edge = self.ss_remote = 0
self.data = self.count = self.active = None
self.state = 'IDLE'
self.ss_bit = self.ss_start = self.ss_other_edge = self.ss_remote = 0
self.data = self.count = self.active = None
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.samplenum = None
self.edges, self.bits, self.ss_es_bits = [], [], []
self.samplerate = None
self.samplenum = None
self.edges, self.bits, self.ss_es_bits = [], [], []
+ self.reset()
+
+ def reset(self):
self.state = 'CLK'
self.samplerate = None
self.oldclk, self.oldsig = 0, 0
self.state = 'CLK'
self.samplerate = None
self.oldclk, self.oldsig = 0, 0
+ self.reset()
+
+ def reset(self):
# self.state = 'TEST-LOGIC-RESET'
self.state = 'RUN-TEST/IDLE'
self.oldstate = None
# self.state = 'TEST-LOGIC-RESET'
self.state = 'RUN-TEST/IDLE'
self.oldstate = None
+ self.reset()
+
+ def reset(self):
self.state = 'IDLE'
self.samplenums = None
self.state = 'IDLE'
self.samplenums = None
+ self.reset()
+
+ def reset(self):
self.state = 'IDLE'
self.reg = 0x00 # Currently selected register
self.databytes = []
self.state = 'IDLE'
self.reg = 0x00 # Currently selected register
self.databytes = []
+ self.reset()
+
+ def reset(self):
self.state = 'IDLE'
self.oldlclk = -1
self.samplenum = 0
self.state = 'IDLE'
self.oldlclk = -1
self.samplenum = 0
+ self.reset()
+
+ def reset(self):
+ self.reset()
+
+ def reset(self):
self.illegal_bus = 0
self.samplenum = -1
self.clause45_addr = -1 # Clause 45 is context sensitive.
self.illegal_bus = 0
self.samplenum = -1
self.clause45_addr = -1 # Clause 45 is context sensitive.
+ self.reset()
+
+ def reset(self):
self.state = 'IDLE'
self.status_byte = 0
self.explicit_status_byte = False
self.state = 'IDLE'
self.status_byte = 0
self.explicit_status_byte = False
+ self.reset()
+
+ def reset(self):
self.state = 'IGNORE START REPEAT'
self.data = []
self.state = 'IGNORE START REPEAT'
self.data = []
+ self.reset()
+
+ def reset(self):
self.ADUSc = None # Start off with empty slave -> client ADU.
self.ADUCs = None # Start off with empty client -> slave ADU.
self.ADUSc = None # Start off with empty slave -> client ADU.
self.ADUCs = None # Start off with empty client -> slave ADU.
annotation_rows = tuple((u, v, (i,)) for i, (u, v) in enumerate(annotations))
def __init__(self):
annotation_rows = tuple((u, v, (i,)) for i, (u, v) in enumerate(annotations))
def __init__(self):
+ self.reset()
+
+ def reset(self):
self.samplerate = None
def metadata(self, key, value):
self.samplerate = None
def metadata(self, key, value):
+ self.reset()
+
+ def reset(self):
self.ss_cmd, self.es_cmd = 0, 0
self.mosi_bytes = []
self.miso_bytes = []
self.ss_cmd, self.es_cmd = 0, 0
self.mosi_bytes = []
self.miso_bytes = []
+ self.reset()
+
+ def reset(self):
self.state = 'IDLE'
def start(self):
self.state = 'IDLE'
def start(self):
+ self.reset()
+
+ def reset(self):
self.next()
self.requirements_met = True
self.cs_was_released = False
self.next()
self.requirements_met = True
self.cs_was_released = False
+ self.reset()
+
+ def reset(self):
self.state = 'IDLE'
self.sx = self.sy = self.ax = self.ay = self.az = self.bz = self.bc = -1
self.databytecount = 0
self.state = 'IDLE'
self.sx = self.sy = self.ax = self.ay = self.az = self.bz = self.bc = -1
self.databytecount = 0
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.state = 'INITIAL'
self.present = 0
self.samplerate = None
self.state = 'INITIAL'
self.present = 0
+ self.reset()
+
+ def reset(self):
self.ss_block = 0
self.es_block = 0
self.state = 'COMMAND'
self.ss_block = 0
self.es_block = 0
self.state = 'COMMAND'
+ self.reset()
+
+ def reset(self):
self.cmd = ['', '']
self.ss_block = None
self.cmd = ['', '']
self.ss_block = None
+ self.reset()
+
+ def reset(self):
self.items = []
self.itemcount = 0
self.saved_item = None
self.items = []
self.itemcount = 0
self.saved_item = None
+ self.reset()
+
+ def reset(self):
self.bits = []
self.samplenum = 0
self.bitcount = 0
self.bits = []
self.samplenum = 0
self.bitcount = 0
+ self.reset()
+
+ def reset(self):
self.ss_block = self.es_block = None
def metadata(self, key, value):
self.ss_block = self.es_block = None
def metadata(self, key, value):
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.reset_variables()
self.samplerate = None
self.reset_variables()
+ self.reset()
+
+ def reset(self):
self.mosi_bytes, self.miso_bytes = [], []
self.mosi_bits, self.miso_bits = [], []
self.row_pos = [0, 0, 0]
self.mosi_bytes, self.miso_bytes = [], []
self.mosi_bits, self.miso_bits = [], []
self.row_pos = [0, 0, 0]
+ self.reset()
+
+ def reset(self):
self.ss_cmd, self.es_cmd = 0, 0
self.mosi_bytes = []
self.ss_cmd, self.es_cmd = 0, 0
self.mosi_bytes = []
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.oldpin = None
self.ss_packet = None
self.samplerate = None
self.oldpin = None
self.ss_packet = None
+ self.reset()
+
+ def reset(self):
self.state = 'IDLE'
self.hours = -1
self.minutes = -1
self.state = 'IDLE'
self.hours = -1
self.minutes = -1
+ self.reset()
+
+ def reset(self):
self.state = 'GET COMMAND TOKEN'
self.token = []
self.is_acmd = False # Indicates CMD vs. ACMD
self.state = 'GET COMMAND TOKEN'
self.token = []
self.is_acmd = False # Indicates CMD vs. ACMD
+ self.reset()
+
+ def reset(self):
self.state = 'IDLE'
self.ss, self.es = 0, 0
self.ss_bit, self.es_bit = 0, 0
self.state = 'IDLE'
self.ss, self.es = 0, 0
self.ss_bit, self.es_bit = 0, 0
self.put(self.ss_edge, self.samplenum, self.out_ann, data)
def __init__(self):
self.put(self.ss_edge, self.samplenum, self.out_ann, data)
def __init__(self):
+ self.reset()
+
+ def reset(self):
self.state = 'GET FIRST PULSE WIDTH'
self.ss_edge = None
self.first_edge = True
self.state = 'GET FIRST PULSE WIDTH'
self.ss_edge = None
self.first_edge = True
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.bitcount = 0
self.misodata = self.mosidata = 0
self.samplerate = None
self.bitcount = 0
self.misodata = self.mosidata = 0
+ self.reset()
+
+ def reset(self):
self.device_id = -1
self.on_end_transaction = None
self.end_current_transaction()
self.device_id = -1
self.on_end_transaction = None
self.end_current_transaction()
+ self.reset()
+
+ def reset(self):
self.ss_cmd, self.es_cmd = 0, 0
self.mosi_bytes = []
self.miso_bytes = []
self.ss_cmd, self.es_cmd = 0, 0
self.mosi_bytes = []
self.miso_bytes = []
+ self.reset()
+
+ def reset(self):
self.oldstep = None
self.ss_prev_step = None
self.pos = 0
self.oldstep = None
self.ss_prev_step = None
self.pos = 0
+ self.reset()
+
+ def reset(self):
# SWD data/clock state
self.state = 'UNKNOWN'
self.sample_edge = RISING
# SWD data/clock state
self.state = 'UNKNOWN'
self.sample_edge = RISING
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.last_samplenum = None
self.lastlast_samplenum = None
self.samplerate = None
self.last_samplenum = None
self.lastlast_samplenum = None
+ self.reset()
+
+ def reset(self):
self.state = 'IDLE'
self.chip = -1
self.state = 'IDLE'
self.chip = -1
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.last_samplenum = None
self.last_n = deque()
self.samplerate = None
self.last_samplenum = None
self.last_n = deque()
+ self.reset()
+
+ def reset(self):
self.bits = []
self.ss_dac_first = None
self.ss_dac = self.es_dac = 0
self.bits = []
self.ss_dac_first = None
self.ss_dac = self.es_dac = 0
self.put(s - floor(halfbit), self.samplenum + ceil(halfbit), self.out_binary, data)
def __init__(self):
self.put(s - floor(halfbit), self.samplenum + ceil(halfbit), self.out_binary, data)
def __init__(self):
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.samplenum = 0
self.frame_start = [-1, -1]
self.samplerate = None
self.samplenum = 0
self.frame_start = [-1, -1]
+ self.reset()
+
+ def reset(self):
self.bits = []
self.packet = []
self.packet_summary = ''
self.bits = []
self.packet = []
self.packet_summary = ''
return -1 # No Start Of Packet
def __init__(self):
return -1 # No Start Of Packet
def __init__(self):
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.idx = 0
self.packet_seq = 0
self.samplerate = None
self.idx = 0
self.packet_seq = 0
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.request = {}
self.request_id = 0
self.samplerate = None
self.request = {}
self.request_id = 0
+ self.reset()
+
+ def reset(self):
self.samplerate = None
self.oldsym = 'J' # The "idle" state is J.
self.ss_block = None
self.samplerate = None
self.oldsym = 'J' # The "idle" state is J.
self.ss_block = None
+ self.reset()
+
+ def reset(self):
self._samples_per_bit = 10
self._d0_prev = None
self._samples_per_bit = 10
self._d0_prev = None
+ self.reset()
+
+ def reset(self):
# Received data items, used as an index into samplenum/data
self.cnt = -1
# Start/end sample numbers per data item
# Received data items, used as an index into samplenum/data
self.cnt = -1
# Start/end sample numbers per data item
+ self.reset()
+
+ def reset(self):
self.prev_cycle = Cycle.NONE
self.op_state = self.state_IDLE
self.prev_cycle = Cycle.NONE
self.op_state = self.state_IDLE