changed write out order to remove excessive trailing empty line of file.

This commit is contained in:
Jan N. Bader
2023-07-28 16:56:50 +02:00
parent 6b1feb148b
commit e27c4bc887

View File

@@ -7,7 +7,7 @@ use List::Util qw(max); # for max @list
### configure the pattern here ### ### configure the pattern here ###
my $divider = 1; # configured freq divieder my $divider = 1; # configured freq divieder
my $sig_period_c = 4; # periode of RF during pulse in [base_cliqs] my $sig_period_c = 5; # periode of RF during pulse in [base_cliqs]
my $pulse_time = 9000; # B1 puls duration in [ns] my $pulse_time = 9000; # B1 puls duration in [ns]
my $short_time = 1000; # short switch on time in [ns] my $short_time = 1000; # short switch on time in [ns]
my $receive_time = 9900; # receiver on time in [ns] my $receive_time = 9900; # receiver on time in [ns]
@@ -38,7 +38,7 @@ sub remainder {
### create outfile in output directory sorted by sampling frequency ### ### create outfile in output directory sorted by sampling frequency ###
my $dirname = 'CODE-AFE_pattern_'.sprintf("%3.6f", ($baudrate * 1e-6)).'MHz'; my $dirname = 'CODE-AFE_pattern_'.sprintf("%3.6f", ($baudrate * 1e-6)).'MHz';
my $filename = 'CODE-AFE_pattern_'.sprintf("%3.6f", ($sig_freq * 1e-6)).'MHz.csv'; my $filename = 'CODE-AFE_pattern_'.sprintf("%3.6f", ($sig_freq * 1e-6)).'MHz.txt';
mkdir($dirname, 0777); mkdir($dirname, 0777);
open(MYOUTFILE, '>>./'.$dirname.'/'.$filename); open(MYOUTFILE, '>>./'.$dirname.'/'.$filename);
####################################################################### #######################################################################
@@ -48,10 +48,9 @@ foreach my $iterator (@pins) {
print MYOUTFILE "Pin "; print MYOUTFILE "Pin ";
print MYOUTFILE $iterator; print MYOUTFILE $iterator;
if ($iterator != max(@pins)) { if ($iterator != max(@pins)) {
print MYOUTFILE '; '; print MYOUTFILE ',';
} }
} }
print MYOUTFILE "\n";
#################################### ####################################
### generate lines each containing one tick of the pattern ### ### generate lines each containing one tick of the pattern ###
@@ -65,42 +64,46 @@ my $t4 = $t3 + $recovery_time;
for (my $i=0; $i < $max_cliqs; $i++) { for (my $i=0; $i < $max_cliqs; $i++) {
$current_time = $i * $base_cliq; $current_time = $i * $base_cliq;
if ($current_time <= $t1) { if ($current_time <= $t1) {
print MYOUTFILE "\n";
if (remainder($current_time, $sig_period) < 0.5) { if (remainder($current_time, $sig_period) < 0.5) {
print MYOUTFILE "1; "; #LS1 print MYOUTFILE "1,"; #LS1
print MYOUTFILE "0; "; #LS2 print MYOUTFILE "0,"; #LS2
} }
else { else {
print MYOUTFILE "0; "; #LS1 print MYOUTFILE "0,"; #LS1
print MYOUTFILE "1; "; #LS2 print MYOUTFILE "1,"; #LS2
} }
print MYOUTFILE "1; "; #HS print MYOUTFILE "1,"; #HS
print MYOUTFILE "0; "; #SS print MYOUTFILE "0,"; #SS
print MYOUTFILE "1; "; #LSS print MYOUTFILE "1,"; #LSS
print MYOUTFILE "0\n"; #Rx print MYOUTFILE "0"; #Rx
} }
elsif ($current_time <= $t2) { elsif ($current_time <= $t2) {
print MYOUTFILE "1; "; #LS1 print MYOUTFILE "\n";
print MYOUTFILE "1; "; #LS2 print MYOUTFILE "1,"; #LS1
print MYOUTFILE "0; "; #HS print MYOUTFILE "1,"; #LS2
print MYOUTFILE "1; "; #SS print MYOUTFILE "0,"; #HS
print MYOUTFILE "1; "; #LSS print MYOUTFILE "1,"; #SS
print MYOUTFILE "0\n"; #Rx print MYOUTFILE "1,"; #LSS
print MYOUTFILE "0"; #Rx
} }
elsif ($current_time <= $t3) { elsif ($current_time <= $t3) {
print MYOUTFILE "0; "; #LS1 print MYOUTFILE "\n";
print MYOUTFILE "0; "; #LS2 print MYOUTFILE "0,"; #LS1
print MYOUTFILE "0; "; #HS print MYOUTFILE "0,"; #LS2
print MYOUTFILE "0; "; #SS print MYOUTFILE "0,"; #HS
print MYOUTFILE "0; "; #LSS print MYOUTFILE "0,"; #SS
print MYOUTFILE "1\n"; #Rx print MYOUTFILE "0,"; #LSS
print MYOUTFILE "1"; #Rx
} }
elsif ($current_time <= $t4) { elsif ($current_time <= $t4) {
print MYOUTFILE "0; "; #LS1 print MYOUTFILE "\n";
print MYOUTFILE "0; "; #LS2 print MYOUTFILE "0,"; #LS1
print MYOUTFILE "0; "; #HS print MYOUTFILE "0,"; #LS2
print MYOUTFILE "0; "; #SS print MYOUTFILE "0,"; #HS
print MYOUTFILE "1; "; #LSS print MYOUTFILE "0,"; #SS
print MYOUTFILE "0\n"; #Rx print MYOUTFILE "1,"; #LSS
print MYOUTFILE "0"; #Rx
} }
else { else {
$last_cliq = $i; $last_cliq = $i;