diff --git a/src/epics/util/lib/Parameters.pm b/src/epics/util/lib/Parameters.pm index 4cb7dd6281a46fce5d51e42f099dcd5694d57041..f4297316799c395fc755a9260af2e9f5e8cdc536 100644 --- a/src/epics/util/lib/Parameters.pm +++ b/src/epics/util/lib/Parameters.pm @@ -2,16 +2,17 @@ package CDS::Parameters; use Exporter; @ISA = ('Exporter'); + +# Print Epics communication structure into a header file +# Current part number is passed as first argument sub partType { return Parameters; } -# Print Epics communication structure into a header file -# Current part number is passed as first argument -sub printHeaderStruct { +sub parseParams { my ($i) = @_; - my @sp = split(/\\n/, $::xpartName[$i]); - #print "Model Parameters are $::xpartName[$i];\n"; + my @sp = split(/\\n/, $i); + #print "Model Parameters are $i;\n"; #print "Split array is @sp\n"; for (@sp) { @spp = split(/=/); @@ -128,6 +129,7 @@ sub printHeaderStruct { $::flipSignals = $spp[1]; } elsif ($spp[0] eq "biquad") { $::allBiquad = $spp[1]; + print "AllBiquad set\n"; } elsif ($spp[0] eq "direct_dac_write") { $::directDacWrite = $spp[1]; } @@ -135,6 +137,9 @@ sub printHeaderStruct { } } +sub printHeaderStruct { +} + # Print Epics variable definitions # Current part number is passed as first argument sub printEpics { diff --git a/src/epics/util/lib/Parser3.pm b/src/epics/util/lib/Parser3.pm index d5069186ca6914aeb532dd1ff9a5d6c4b3930a18..d48aea03b0c2473b639b580181546228e1ea3569 100644 --- a/src/epics/util/lib/Parser3.pm +++ b/src/epics/util/lib/Parser3.pm @@ -278,11 +278,16 @@ sub name_check { sub store_ezca_names { my ($node, $in_sub, $parent) = @_; + my $src_block = ${$node->{FIELDS}}{"SourceBlock"}; + my $name = ${$node->{FIELDS}}{"Name"}; + if ($src_block =~ /^cdsParameters/) { + # Parse cdsParameters now + require "lib/Parameters.pm"; + CDS::Parameters::parseParams($name); + } if ($node->{NAME} ne "Block") { return 0; } - my $name = ${$node->{FIELDS}}{"Name"}; - my $src_block = ${$node->{FIELDS}}{"SourceBlock"}; if ($src_block !~ /^cdsEzCa/ || $src_block eq undef) { return 0; }