Skip to content

Commit

Permalink
added more charts
Browse files Browse the repository at this point in the history
  • Loading branch information
rubienr committed Sep 26, 2016
1 parent fdfd6d0 commit b350e77
Show file tree
Hide file tree
Showing 5 changed files with 236 additions and 11 deletions.
36 changes: 26 additions & 10 deletions Config/Mappings.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,21 @@
"invoke": 1.0, "return": 0.0,
}

interruptToNumberMapping = {"TX_RX_TIMER_TOP": "#7",
"TX_RX_TIMER_CENTER": "#8",
interruptToNumberMapping = {"TX_TIMER_INTERRUPT": "#7",
"LOCAL_TIME_TIMER_INTERRUPT": "#8",
"TX_RX_TIMER_OVERVLOW": "#9",
#"TX_RX_TIMEOUT_INTERRUPT": "#20",
# "TX_RX_TIMEOUT_INTERRUPT": "#20",
"NORTH_RECEPTION": "#19",
"EAST_RECEPTION": "#3",
"SOUTH_RECEPTION": "#2",
}

interruptToNameMapping = {"TX_RX_TIMER_TOP": "counter1 comp. A (top)",
"TX_RX_TIMER_CENTER": "counter1 comp. B (center)",
interruptToNameMapping = {"TX_TIMER_INTERRUPT": "counter1 comp. A (top)",
"LOCAL_TIME_TIMER_INTERRUPT": "counter1 comp. B (center)",
"TX_RX_TIMEOUT_INTERRUPT": "counter0 comp. A",
"NORTH_RECEPTION": "north reception",
"EAST_RECEPTION": "east reception",
"SOUTH_RECEPTION": "south reception",
}

interruptDomainToNameMapping = {"post": "un-/posting",
Expand All @@ -42,6 +44,7 @@
"'R'": "INITIATOR_STATE_TYPE_WAIT_FOR_RESPONSE",
"'A'": "INITIATOR_STATE_TYPE_TRANSMIT_ACK",
"'f'": "INITIATOR_STATE_TYPE_TRANSMIT_ACK_WAIT_FOR_TX_FINISHED",

"'d'": "RECEPTIONIST_STATE_TYPE_IDLE",
"'r'": "RECEPTIONIST_STATE_TYPE_RECEIVE",
"'a'": "RECEPTIONIST_STATE_TYPE_TRANSMIT_ACK",
Expand All @@ -59,12 +62,25 @@
"'x'": "x",
"'X'": "X",

"'b'" : "counter timeout",
"'u'" : "error: decode/interpreter",
"'b'": "counter timeout",
"'u'": "error: decode/interpreter",

"'y'": "command executing",
"'Y'": "command executing done",

"'z'" : "enter sleep mode",
"'Z'" : "exit sleep mode",
}
"'z'": "enter sleep mode",
"'Z'": "exit sleep mode",

"'o'" : "enable north rx",
"'q'" : "enable east rx",
"'m'" : "enable south rx",
"'O'": "enable north rx",
"'Q'": "enable east rx",
"'N'": "enable south rx",

"'9'": "parity error",
"'8'": "buffer overfow",

"'t'": "tx start",
"'U'": "tx end",
}
50 changes: 50 additions & 0 deletions Network2x1.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,56 @@
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()
85 changes: 85 additions & 0 deletions Network2x2-approximation-values.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
from Config import Input as inputConfig
from Config import Mappings as mappingConfig
from Config.Mappings import charOutToHumanReadableAnnotation
from LogSamplePlot import Filter as fltr
from LogSamplePlot import Plotter as pltr

if __name__ == "__main__":
dataFilter = fltr.Filter(inputConfig.logFile, mappingConfig.wireToFloatValueMapping)
dataPlotter = pltr.Plotter()

numRows, numColumns = 2, 2
nodesTotal = numRows * numColumns

# wires plots
for id in range(0, nodesTotal):
filter = fltr.SampleFilter(domain="WIRE", name="tx-north", nodeId=id)
dataFilter.filter(filter)
xData, yData, annotations = dataFilter.getData(filter)
dataPlotter.addPlot(xData, yData, annotations, "[%s] %s" % (filter.nodeId, filter.name))

filter = fltr.SampleFilter(domain="WIRE", name="tx-east", nodeId=id)
dataFilter.filter(filter)
xData, yData, annotations = dataFilter.getData(filter)
dataPlotter.addPlot(xData, yData, annotations, "[%s] %s" % (filter.nodeId, filter.name))

filter = fltr.SampleFilter(domain="WIRE", name="tx-south", nodeId=id)
dataFilter.filter(filter)
xData, yData, annotations = dataFilter.getData(filter)
dataPlotter.addPlot(xData, yData, annotations, "[%s] %s" % (filter.nodeId, filter.name))

# interrupt plots
for id in range(0, nodesTotal):
interruptName = "LOCAL_TIME_TIMER_INTERRUPT"
dataFilter.setValueMapping(mappingConfig.interruptToFloatValueMapping)
pltr.addInterruptPlot(dataFilter, dataPlotter, title=("[%s] invoke" % id), nodeId=id,
interruptToNumberMapping=mappingConfig.interruptToNumberMapping,
facet="invoke",
interruptName=interruptName)

interruptName = "TX_RX_TIMER_OVERVLOW"
dataFilter.setValueMapping(mappingConfig.interruptToFloatValueMapping)
pltr.addInterruptPlot(dataFilter, dataPlotter, title=("[%s] post" % id), nodeId=id,
interruptToNumberMapping=mappingConfig.interruptToNumberMapping,
facet="post",
interruptName=interruptName)

# 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))

# approximation values plots
for id in range(0, nodesTotal):
filter = fltr.SampleFilter(domain="SRAM", name="Particle.timeSynchronization.progressiveMean[3]", nodeId=id)
dataFilter.filter(filter)
xData, yData, annotations = dataFilter.getData(filter)
dataPlotter.addPlot(xData, yData, annotations, "[%s] %s" % (filter.nodeId, filter.name))

filter = fltr.SampleFilter(domain="SRAM", name="Particle.timeSynchronization.mean[3]", nodeId=id)
dataFilter.filter(filter)
xData, yData, annotations = dataFilter.getData(filter)
dataPlotter.addPlot(xData, yData, annotations, "[%s] %s" % (filter.nodeId, filter.name))

dataPlotter.setWindowTitle("Network %sx%s Simulation" % (numRows, numColumns))
dataFilter.printValues()
dataPlotter.plot()
1 change: 0 additions & 1 deletion Network2x2-pdu-length-vs-de-coding.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,6 @@

interruptName = "TX_RX_TIMER_OVERVLOW"
dataFilter.setValueMapping(mappingConfig.interruptToFloatValueMapping)

pltr.addInterruptPlot(dataFilter, dataPlotter, title=("[%s] invoke" % id), nodeId=id,
interruptToNumberMapping=mappingConfig.interruptToNumberMapping,
facet="invoke",
Expand Down
75 changes: 75 additions & 0 deletions Network2x3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
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, numColumns = 2, 3
nodesTotal = numRows * numColumns

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))

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))

filter = fltr.SampleFilter(domain="WIRE", name="tx-east", nodeId=0)
dataFilter.filter(filter)
xData, yData, annotations = dataFilter.getData(filter)
dataPlotter.addPlot(xData, yData, annotations, "[%s] %s" % (filter.nodeId, filter.name))

filter = fltr.SampleFilter(domain="WIRE", name="tx-north", nodeId=2)
dataFilter.filter(filter)
xData, yData, annotations = dataFilter.getData(filter)
dataPlotter.addPlot(xData, yData, annotations, "[%s] %s" % (filter.nodeId, filter.name))

filter = fltr.SampleFilter(domain="WIRE", name="tx-south", nodeId=2)
dataFilter.filter(filter)
xData, yData, annotations = dataFilter.getData(filter)
dataPlotter.addPlot(xData, yData, annotations, "[%s] %s" % (filter.nodeId, filter.name))

filter = fltr.SampleFilter(domain="WIRE", name="tx-north", nodeId=3)
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))

dataPlotter.setWindowTitle("Network %sx%s Simulation" % (numRows, numColumns))
dataFilter.printValues()
dataPlotter.plot()

0 comments on commit b350e77

Please sign in to comment.