I think I have found a problem with the Reader actor. Attached are 3 simple files to illustrate the problem no_up_down_sample.xml contains a Reader straight into sink actors. up_down_sample.xml contains a Reader passed through a up-sample and down-sample actor into sink actors. sample2.txt contains data used by both Readers Note the behavior between samples 2 and 3 on the output display. Why the entry of two values on sample 1 when there is no up/down sample? The up/down sample fixes the problem so I have a work around. Thank You Greg Rohling
<?xml version="1.0" standalone="no"?> <!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN" "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd"> <entity name="Bit 2" class="ptolemy.actor.TypedCompositeActor"> <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[603, 453]"> </property> <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute" value="[133, 140]"> </property> <property name="DT" class="ptolemy.domains.dt.kernel.DTDirector"> <property name="iterations" class="ptolemy.data.expr.Parameter" value="15"> </property> <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1"> </property> <property name="period" class="ptolemy.data.expr.Parameter" value="1.0"> </property> <property name="_location" class="ptolemy.moml.Location" value="80.0, 43.0"> </property> </property> <entity name="Output" class="ptolemy.actor.lib.FileWriter"> <property name="filename" class="ptolemy.data.expr.Parameter" value=""""> </property> <doc>Write to a file</doc> <property name="_location" class="ptolemy.moml.Location" value="484.0, 76.0"> </property> <port name="input" class="ptolemy.actor.TypedIOPort"> <property name="input"/> <property name="multiport"/> </port> </entity> <entity name="Data File" class="ptolemy.actor.lib.Reader"> <property name="sourceURL" class="ptolemy.data.expr.Parameter" value=""file:./source2.txt""> </property> <property name="refresh" class="ptolemy.data.expr.Parameter" value="false"> </property> <doc>Read from a file</doc> <property name="_location" class="ptolemy.moml.Location" value="78.0, 157.0"> </property> <port name="output" class="ptolemy.actor.TypedIOPort"> <property name="output"/> <property name="multiport"/> </port> <port name="trigger" class="ptolemy.actor.TypedIOPort"> <property name="input"/> <property name="multiport"/> </port> </entity> <entity name="Display" class="ptolemy.actor.lib.gui.Display"> <property name="rowsDisplayed" class="ptolemy.data.expr.Parameter" value="10"> </property> <property name="columnsDisplayed" class="ptolemy.data.expr.Parameter" value="40"> </property> <property name="title" class="ptolemy.kernel.util.StringAttribute"> </property> <property name="_location" class="ptolemy.moml.Location" value="483.0, 157.0"> </property> <port name="input" class="ptolemy.actor.TypedIOPort"> <property name="input"/> <property name="multiport"/> </port> </entity> <entity name="TimedPlotter" class="ptolemy.actor.lib.gui.TimedPlotter"> <property name="fillOnWrapup" class="ptolemy.data.expr.Parameter" value="true"> </property> <property name="legend" class="ptolemy.kernel.util.StringAttribute"> </property> <property name="startingDataset" class="ptolemy.data.expr.Parameter" value="0"> </property> <property name="_location" class="ptolemy.moml.Location" value="490.0, 231.0"> </property> <port name="input" class="ptolemy.actor.TypedIOPort"> <property name="input"/> <property name="multiport"/> </port> <configure><?plotml <!DOCTYPE plot PUBLIC "-//UC Berkeley//DTD PlotML 1//EN" "http://ptolemy.eecs.berkeley.edu/xml/dtd/PlotML_1.dtd"> <plot> <title></title> <xRange min="0.0" max="13.0"/> <yRange min="0.0" max="1.2"/> </plot>?> </configure> </entity> <relation name="relation" class="ptolemy.actor.TypedIORelation"> <vertex name="vertex1" class="ptolemy.moml.Vertex" value="345.0, 163.0"> </vertex> </relation> <link port="Output.input" relation="relation"/> <link port="Data File.output" relation="relation"/> <link port="Display.input" relation="relation"/> <link port="TimedPlotter.input" relation="relation"/> </entity>
<?xml version="1.0" standalone="no"?> <!DOCTYPE entity PUBLIC "-//UC Berkeley//DTD MoML 1//EN" "http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd"> <entity name="Bit 2" class="ptolemy.actor.TypedCompositeActor"> <property name="_vergilSize" class="ptolemy.actor.gui.SizeAttribute" value="[603, 453]"> </property> <property name="_vergilLocation" class="ptolemy.actor.gui.LocationAttribute" value="[135, 101]"> </property> <property name="DT" class="ptolemy.domains.dt.kernel.DTDirector"> <property name="iterations" class="ptolemy.data.expr.Parameter" value="15"> </property> <property name="vectorizationFactor" class="ptolemy.data.expr.Parameter" value="1"> </property> <property name="period" class="ptolemy.data.expr.Parameter" value="1.0"> </property> <property name="_location" class="ptolemy.moml.Location" value="80.0, 43.0"> </property> </property> <entity name="Output" class="ptolemy.actor.lib.FileWriter"> <property name="filename" class="ptolemy.data.expr.Parameter" value=""""> </property> <doc>Write to a file</doc> <property name="_location" class="ptolemy.moml.Location" value="484.0, 76.0"> </property> <port name="input" class="ptolemy.actor.TypedIOPort"> <property name="input"/> <property name="multiport"/> </port> </entity> <entity name="Data File" class="ptolemy.actor.lib.Reader"> <property name="sourceURL" class="ptolemy.data.expr.Parameter" value=""file:./source2.txt""> </property> <property name="refresh" class="ptolemy.data.expr.Parameter" value="false"> </property> <doc>Read from a file</doc> <property name="_location" class="ptolemy.moml.Location" value="78.0, 157.0"> </property> <port name="output" class="ptolemy.actor.TypedIOPort"> <property name="output"/> <property name="multiport"/> </port> <port name="trigger" class="ptolemy.actor.TypedIOPort"> <property name="input"/> <property name="multiport"/> </port> </entity> <entity name="Display" class="ptolemy.actor.lib.gui.Display"> <property name="rowsDisplayed" class="ptolemy.data.expr.Parameter" value="10"> </property> <property name="columnsDisplayed" class="ptolemy.data.expr.Parameter" value="40"> </property> <property name="title" class="ptolemy.kernel.util.StringAttribute"> </property> <property name="_location" class="ptolemy.moml.Location" value="483.0, 157.0"> </property> <port name="input" class="ptolemy.actor.TypedIOPort"> <property name="input"/> <property name="multiport"/> </port> </entity> <entity name="TimedPlotter" class="ptolemy.actor.lib.gui.TimedPlotter"> <property name="fillOnWrapup" class="ptolemy.data.expr.Parameter" value="true"> </property> <property name="legend" class="ptolemy.kernel.util.StringAttribute"> </property> <property name="startingDataset" class="ptolemy.data.expr.Parameter" value="0"> </property> <property name="_location" class="ptolemy.moml.Location" value="490.0, 231.0"> </property> <port name="input" class="ptolemy.actor.TypedIOPort"> <property name="input"/> <property name="multiport"/> </port> <configure><?plotml <!DOCTYPE plot PUBLIC "-//UC Berkeley//DTD PlotML 1//EN" "http://ptolemy.eecs.berkeley.edu/xml/dtd/PlotML_1.dtd"> <plot> <title></title> <xRange min="0.0" max="13.0"/> <yRange min="0.0" max="1.2"/> </plot>?> </configure> </entity> <entity name="UpSample" class="ptolemy.domains.sdf.lib.UpSample"> <property name="factor" class="ptolemy.data.expr.Parameter" value="2"> </property> <property name="phase" class="ptolemy.data.expr.Parameter" value="factor-1"> </property> <property name="_location" class="ptolemy.moml.Location" value="179.0, 156.0"> </property> <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort"> <property name="input"/> <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="1"> </property> <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0"> </property> <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0"> </property> </port> <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort"> <property name="output"/> <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0"> </property> <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0"> </property> <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="2"> </property> </port> </entity> <entity name="DownSample" class="ptolemy.domains.sdf.lib.DownSample"> <property name="factor" class="ptolemy.data.expr.Parameter" value="2"> </property> <property name="phase" class="ptolemy.data.expr.Parameter" value="0"> </property> <property name="_location" class="ptolemy.moml.Location" value="283.0, 156.0"> </property> <port name="input" class="ptolemy.domains.sdf.kernel.SDFIOPort"> <property name="input"/> <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="2"> </property> <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0"> </property> <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="0"> </property> </port> <port name="output" class="ptolemy.domains.sdf.kernel.SDFIOPort"> <property name="output"/> <property name="tokenConsumptionRate" class="ptolemy.data.expr.Parameter" value="0"> </property> <property name="tokenInitProduction" class="ptolemy.data.expr.Parameter" value="0"> </property> <property name="tokenProductionRate" class="ptolemy.data.expr.Parameter" value="1"> </property> </port> </entity> <relation name="relation" class="ptolemy.actor.TypedIORelation"> <vertex name="vertex1" class="ptolemy.moml.Vertex" value="345.0, 163.0"> </vertex> </relation> <relation name="relation5" class="ptolemy.actor.TypedIORelation"> </relation> <relation name="relation6" class="ptolemy.actor.TypedIORelation"> </relation> <link port="Output.input" relation="relation"/> <link port="Data File.output" relation="relation5"/> <link port="Display.input" relation="relation"/> <link port="TimedPlotter.input" relation="relation"/> <link port="UpSample.input" relation="relation5"/> <link port="UpSample.output" relation="relation6"/> <link port="DownSample.input" relation="relation6"/> <link port="DownSample.output" relation="relation"/> </entity>
0.0 0.0 0.3 0.5 0.4 0.0 0.0 1.0 1.0 1.2 1.0 1.0 1.0 1.0 1.0 1.0