mirror of https://github.com/Desuuuu/klipper.git
logextract: Add mcu annotation on send/receive shutdown reports
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
fbbe2cf9d6
commit
8b48de1be8
|
@ -77,7 +77,8 @@ def add_high_bits(val, ref, mask):
|
||||||
|
|
||||||
class GatherShutdown:
|
class GatherShutdown:
|
||||||
class mcu_info:
|
class mcu_info:
|
||||||
def __init__(self):
|
def __init__(self, name):
|
||||||
|
self.name = name
|
||||||
self.sent_stream = []
|
self.sent_stream = []
|
||||||
self.receive_stream = []
|
self.receive_stream = []
|
||||||
self.sent_stream = []
|
self.sent_stream = []
|
||||||
|
@ -170,13 +171,15 @@ class GatherShutdown:
|
||||||
exp_clock = int(sample_clock + (ts - sample_time) * freq)
|
exp_clock = int(sample_clock + (ts - sample_time) * freq)
|
||||||
ext_clock = add_high_bits(clock, exp_clock, 0xffffffff)
|
ext_clock = add_high_bits(clock, exp_clock, 0xffffffff)
|
||||||
return sample_time + (ext_clock - sample_clock) / freq
|
return sample_time + (ext_clock - sample_clock) / freq
|
||||||
def annotate(self, line, seq, ts):
|
def annotate(self, line, mcu_name, seq, ts):
|
||||||
if seq is not None:
|
if seq is not None:
|
||||||
line = repl_seq_r.sub(r"\g<0>(%d)" % (seq,), line)
|
line = repl_seq_r.sub(r"\g<0>(%d)" % (seq,), line)
|
||||||
def clock_update(m):
|
def clock_update(m):
|
||||||
return m.group(0).rstrip() + "(%.6f) " % (
|
return m.group(0).rstrip() + "(%.6f) " % (
|
||||||
self.trans_clock(int(m.group('clock')), ts),)
|
self.trans_clock(int(m.group('clock')), ts),)
|
||||||
line = repl_clock_r.sub(clock_update, line)
|
line = repl_clock_r.sub(clock_update, line)
|
||||||
|
if mcu_name != 'mcu':
|
||||||
|
line = "mcu '%s': %s" % (mcu_name, line)
|
||||||
return line
|
return line
|
||||||
def add_line(self, line_num, line):
|
def add_line(self, line_num, line):
|
||||||
self.parse_line(line_num, line)
|
self.parse_line(line_num, line)
|
||||||
|
@ -201,7 +204,7 @@ class GatherShutdown:
|
||||||
esttime = float(m.group('esttime'))
|
esttime = float(m.group('esttime'))
|
||||||
self.mcu.sent_time_to_seq[(esttime, seq & 0xf)] = seq
|
self.mcu.sent_time_to_seq[(esttime, seq & 0xf)] = seq
|
||||||
self.mcu.sent_seq_to_time[seq] = ts
|
self.mcu.sent_seq_to_time[seq] = ts
|
||||||
line = self.annotate(line, seq, ts)
|
line = self.annotate(line, self.mcu.name, seq, ts)
|
||||||
self.mcu.sent_stream.append((ts, line_num, line))
|
self.mcu.sent_stream.append((ts, line_num, line))
|
||||||
return
|
return
|
||||||
m = receive_r.match(line)
|
m = receive_r.match(line)
|
||||||
|
@ -212,7 +215,7 @@ class GatherShutdown:
|
||||||
seq = self.mcu.sent_time_to_seq.get((esttime, (shortseq - 1) & 0xf))
|
seq = self.mcu.sent_time_to_seq.get((esttime, (shortseq - 1) & 0xf))
|
||||||
if seq is not None:
|
if seq is not None:
|
||||||
self.mcu.receive_seq_to_time[seq + 1] = ts
|
self.mcu.receive_seq_to_time[seq + 1] = ts
|
||||||
line = self.annotate(line, seq, ts)
|
line = self.annotate(line, self.mcu.name, seq, ts)
|
||||||
self.mcu.receive_stream.append((ts, line_num, line))
|
self.mcu.receive_stream.append((ts, line_num, line))
|
||||||
return
|
return
|
||||||
m = gcode_r.match(line)
|
m = gcode_r.match(line)
|
||||||
|
@ -235,7 +238,7 @@ class GatherShutdown:
|
||||||
m = mcu_r.match(line)
|
m = mcu_r.match(line)
|
||||||
if m is not None:
|
if m is not None:
|
||||||
mcu = m.group('mcu')
|
mcu = m.group('mcu')
|
||||||
self.mcu = self.mcus.setdefault(mcu, self.mcu_info())
|
self.mcu = self.mcus.setdefault(mcu, self.mcu_info(mcu))
|
||||||
m = clock_r.match(line)
|
m = clock_r.match(line)
|
||||||
if m is not None:
|
if m is not None:
|
||||||
st = float(m.group('st'))
|
st = float(m.group('st'))
|
||||||
|
|
Loading…
Reference in New Issue