-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNetwork2x1.py
More file actions
108 lines (89 loc) · 5.34 KB
/
Network2x1.py
File metadata and controls
108 lines (89 loc) · 5.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
from collections import OrderedDict
from Config.Mappings import charOutToHumanReadableAnnotation
from LogSamplePlot import Plotter as pltr
from LogSamplePlot import Filter as fltr
from Config import Mappings as mappingConfig
from Config import Input as inputConfig
if __name__ == "__main__":
dataFilter = fltr.Filter(inputConfig.logFile, mappingConfig.wireToFloatValueMapping)
dataPlotter = pltr.Plotter()
numRows = 2
numColumns = 1
nodesTotal = numRows * numColumns
# column 1 to 2
filter = fltr.SampleFilter(domain="WIRE", name="tx-south", nodeId=0)
dataFilter.filter(filter)
xData, yData, annotations = dataFilter.getData(filter)
dataPlotter.addPlot(xData, yData, annotations, "[%s] %s" % (filter.nodeId, filter.name))
# node 1 reception wire plot
filter = fltr.SampleFilter(domain="WIRE", name="tx-north", nodeId=1)
dataFilter.filter(filter)
xData, yData, annotations = dataFilter.getData(filter)
dataPlotter.addPlot(xData, yData, annotations, "[%s] %s" % (filter.nodeId, filter.name))
# char out plots
for id in range(0, nodesTotal):
filter = fltr.SampleFilter(domain="SRAM", name="char-out", nodeId=id)
dataFilter.removeSamples(filter)
dataFilter.filter(filter)
xData, yData, annotations = dataFilter.getData(filter)
annotations = pltr.reMapAnnotation(annotations, charOutToHumanReadableAnnotation)
dataPlotter.addPlot(xData, yData, annotations, "[%s] %s" % (filter.nodeId, filter.name))
# int16 out plots
for id in range(0, nodesTotal):
filter = fltr.SampleFilter(domain="SRAM", name="int16-out", nodeId=id)
dataFilter.removeSamples(filter)
dataFilter.filter(filter)
xData, yData, annotations = dataFilter.getData(filter)
dataPlotter.addPlot(xData, yData, annotations, "[%s] %s" % (filter.nodeId, filter.name))
# node state plots
for id in range(0, nodesTotal):
filter = fltr.SampleFilter(domain="SRAM", name="Particle.node.state", nodeId=id)
dataFilter.filter(filter)
xData, yData, annotations = dataFilter.getData(filter)
dataPlotter.addPlot(xData, yData, annotations, "[%s] %s" % (filter.nodeId, filter.name))
for id in range(0, nodesTotal):
interruptName = "NORTH_RECEPTION"
dataFilter.setValueMapping(mappingConfig.interruptToFloatValueMapping)
pltr.addInterruptPlot(dataFilter, dataPlotter, title=("[%s] invoke %s" % (id, interruptName)), nodeId=id,
interruptToNumberMapping=mappingConfig.interruptToNumberMapping,
facet="invoke",
interruptName=interruptName)
interruptName = "EAST_RECEPTION"
dataFilter.setValueMapping(mappingConfig.interruptToFloatValueMapping)
pltr.addInterruptPlot(dataFilter, dataPlotter, title=("[%s] invoke %s" % (id, interruptName)), nodeId=id,
interruptToNumberMapping=mappingConfig.interruptToNumberMapping,
facet="invoke",
interruptName=interruptName)
interruptName = "SOUTH_RECEPTION"
dataFilter.setValueMapping(mappingConfig.interruptToFloatValueMapping)
pltr.addInterruptPlot(dataFilter, dataPlotter, title=("[%s] invoke %s" % (id, interruptName)), nodeId=id,
interruptToNumberMapping=mappingConfig.interruptToNumberMapping,
facet="invoke",
interruptName=interruptName)
interruptName = "SOUTH_RECEPTION"
dataFilter.setValueMapping(mappingConfig.interruptToFloatValueMapping)
pltr.addInterruptPlot(dataFilter, dataPlotter, title=("[%s] enable %s" % (id, interruptName)), nodeId=id,
interruptToNumberMapping=mappingConfig.interruptToNumberMapping,
facet="enable",
interruptName=interruptName)
interruptName = "SOUTH_RECEPTION"
dataFilter.setValueMapping(mappingConfig.interruptToFloatValueMapping)
pltr.addInterruptPlot(dataFilter, dataPlotter, title=("[%s] post %s" % (id, interruptName)), nodeId=id,
interruptToNumberMapping=mappingConfig.interruptToNumberMapping,
facet="post",
interruptName=interruptName)
interruptName = "LOCAL_TIME_TIMER_INTERRUPT"
dataFilter.setValueMapping(mappingConfig.interruptToFloatValueMapping)
pltr.addInterruptPlot(dataFilter, dataPlotter, title=("[%s] invoke %s" % (id, interruptName)), nodeId=id,
interruptToNumberMapping=mappingConfig.interruptToNumberMapping,
facet="invoke",
interruptName=interruptName)
interruptName = "TX_TIMER_INTERRUPT"
dataFilter.setValueMapping(mappingConfig.interruptToFloatValueMapping)
pltr.addInterruptPlot(dataFilter, dataPlotter, title=("[%s] invoke %s" % (id, interruptName)), nodeId=id,
interruptToNumberMapping=mappingConfig.interruptToNumberMapping,
facet="invoke",
interruptName=interruptName)
dataPlotter.setWindowTitle("Network %sx%s Simulation" % (numRows, numColumns))
dataFilter.printValues()
dataPlotter.plot()