Something went wrong on our end
-
Rolf Bork authored
git-svn-id: https://redoubt.ligo-wa.caltech.edu/svn/advLigoRTS/trunk@3195 6dcd42c9-f523-4c6d-aada-af552506706e
Rolf Bork authoredgit-svn-id: https://redoubt.ligo-wa.caltech.edu/svn/advLigoRTS/trunk@3195 6dcd42c9-f523-4c6d-aada-af552506706e
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Adc.pm 22.88 KiB
package CDS::Adc;
use Exporter;
@ISA = ('Exporter');
require "lib/medmGen.pm";
#// \file Adc.dox
#// \brief Documentation for Adc.pm
#//
#// \n
#// \subpage devguidercg2 "<<-- Parts Library"
#// \n
# ADC cards we support
%board_types = (
GSC_16AI64SSA => 1, # Slow General Standards board
GSC_18AISS6C => 1 # 18-bit 6 channel General Standards board
);
# default board type (if none specified with type=<type> in block Description)
$default_board_type = "GSC_16AI64SSA";
sub initAdc {
my ($node) = @_;
$::adcPartNum[$::adcCnt] = $::partCnt;
# Set ADC type and number
my $desc = ${$node->{FIELDS}}{"Description"};
my ($type) = $desc =~ m/type=([^,]+)/g;
my ($num) = $desc =~ m/card_num=([^,]+)/g;
if ($type eq undef) {
$type = $default_board_type;
}
if ($num eq undef) {
$num = $::adcCnt;
}
print "ADC $::adcCnt; type='$type'; num=$num\n";
#print "foo=$board_types{$type}\n";
# Check if this is a supported board type
if ($board_types{$type} != 1) {
print "Unsupported board type\n";
print "Known board types:\n";
foreach (keys %board_types) {
print "\t$_\n";
}
exit 1;
}
$::adcType[$::adcCnt] = $type;
$::adcNum[$::adcCnt] = $num;
$::adcCnt++;
$::partUsed[$::partCnt] = 1;
foreach (0 .. $::partCnt) {
if ("Adc" eq $::partInputType[$_][0]) {
print $_," ", $::xpartName[$_], "\n";
}
}
}
sub partType {
return Adc;
}
# Print Epics communication structure into a header file
# Current part number is passed as first argument
sub printHeaderStruct {
my ($i) = @_;
;
}