diff options
Diffstat (limited to 'kernel/xpp/init_card_3_30')
-rwxr-xr-x | kernel/xpp/init_card_3_30 | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/kernel/xpp/init_card_3_30 b/kernel/xpp/init_card_3_30 index 9e72089..7796b2e 100755 --- a/kernel/xpp/init_card_3_30 +++ b/kernel/xpp/init_card_3_30 @@ -67,18 +67,24 @@ my %opts; getopts('o:', \%opts); +my %settings; + sub logit { print STDERR "$unit_id: @_\n"; } +sub debug { + logit @_ if $settings{debug}; +} + # Arrange for error logging if (-t STDERR) { $unit_id = 'Interactive'; - logit "Interactive startup"; + debug "Interactive startup"; } else { $unit_id = "$ENV{XBUS_NAME}/UNIT-$ENV{UNIT_NUMBER}"; open (STDERR, "| logger -t $program -p kern.info") || die; - logit "Non Interactive startup"; + debug "Non Interactive startup"; foreach my $k (qw( XBUS_NAME XBUS_NUMBER @@ -138,6 +144,14 @@ sub multibyte($) { } } +sub read_defaults() { + if(XppConfig::read_config(\%settings)) { + main::logit "Defaults from $settings{xppconf}"; + } else { + main::logit "No defaults file, use hard-coded defaults."; + } +} + package BRI::Port; sub new { @@ -362,14 +376,16 @@ sub zthfc_startup { package main; -logit "Starting '$0'"; +debug "Starting '$0'"; + +BRI::read_defaults; #------------------------------------------- Instance detection # zap_xhfc_su.c:895 sub init_xhfc($) { my $portnum = shift; - main::logit "init_xhfc($portnum)"; + main::debug "init_xhfc($portnum)"; BRI::gen "#--------------------------- init_xhfc"; BRI::gen "$portnum WD 0D 00"; # r_FIFO_MD: 16 fifos, # 64 bytes for TX and RX each (FIFO mode config) @@ -452,7 +468,7 @@ sub main() { main; -logit "Ending '$0'"; +debug "Ending '$0'"; close REG; close STDERR; |