Added WartsCycleStop object support for sc_warts.py and sc_tracebox.py

This commit is contained in:
Michael McCarrin
2016-11-07 08:33:56 -08:00
parent 8990b7b7a9
commit 19586d8c8e
2 changed files with 11 additions and 1 deletions
+2
View File
@@ -54,6 +54,8 @@ class WartsTraceBoxReader(WartsReader):
return WartsCycle(data, verbose=self.verbose)
elif typ == obj_type['CYCLE']:
return WartsCycle(data, verbose=self.verbose)
elif typ == obj_type['CYCLE_STOP']:
return WartsCycleStop(data, verbose=self.verbose)
elif typ == TRACEBOXTYPE:
return WartsTraceBox(data, verbose=self.verbose)
else:
+9 -1
View File
@@ -41,7 +41,7 @@ import gzip, bz2
import sys
obj_type = {'NONE' : 0x00, 'LIST' : 0x01, 'CYCLESTART' : 0x02, 'CYCLE' : 0x03,
'TRACE' : 0x06, 'PING' : 0x07, 'MAGIC' : 0x1205}
'CYCLE_STOP': 0x04, 'TRACE' : 0x06, 'PING' : 0x07, 'MAGIC' : 0x1205}
def unpack_uint8_t(b):
return (struct.unpack('B', b[0])[0], 1)
@@ -196,6 +196,14 @@ class WartsCycle(WartsBaseObject):
"CycleID:", self.cycleid, "Start:", self.start
print "Flags:", self.flags
class WartsCycleStop(WartsBaseObject):
def __init__(self, data, verbose=False):
super(WartsCycleStop, self).__init__(obj_type['CYCLE_STOP'], verbose)
self.data = data
(self.cycleid, self.stop) = struct.unpack('!II', data[:8])
if self.verbose:
print "CycleID:", self.cycleid, "Stop:", self.stop
class WartsPing(WartsBaseObject):
def __init__(self, data, verbose=False):