#!/usr/bin/env perl # Transmitter hourly log maintainer $log = "/usr/local/lib/tx.log"; $tmp = "/tmp/.txlog$$"; while (!$ans || $ans > 2 || $ans =~ m/[a-z]/i) { print "\33[H\33[J". "\nTransmitter Hourly Status Log Maintainer\n\n". "1) Enter log data\n". "2) Review log data\n\n". "Enter your selection: "; chomp($ans = ); } if ($ans == 1) { print "\n"; while (!$volt) { print "Enter transmitter SYSTEM voltage (in volts DC): "; chomp($volt = ); } print "\n"; while (!$exc) { print "Enter transmitter EXCITER voltage (in volts DC): "; chomp($exc = ); } print "\n"; while (!$pav) { print "Enter RF power amplifier voltage (in volts DC): "; chomp($pav = ); } print "\n"; while (!$paa) { print "Enter RF power amplifier current (in amps DC): "; chomp($paa = ); } print "\n"; while (!$swr) { print "Enter SWR ratio (in ?.?:1 ratio): "; chomp($swr = ); } print "\n"; while (!$tpo) { print "Enter total power output (in watts): "; chomp($tpo = ); } print "\n"; while (!$freq) { print "Enter transmitter frequency (in MHz): "; chomp($freq = ); } ($sec,$min,$hour,$mday,$mon,$year) = gmtime; $hour = sprintf "%02.0f",$hour; $min = sprintf "%02.0f",$min; $sec = sprintf "%02.0f",$sec; $mon = sprintf "%02.0f",($mon+1); $mday = sprintf "%02.0f",$mday; $year = sprintf "%02.0f",$year; $year = 1900 + $year; open LOG,">>$log" or die "\nCan not open $log: $!\n\n"; print LOG "$hour,$min,$sec,$mon,$mday,$year=$volt,$exc,$pav,$paa,$swr,$tpo,$freq\n"; close LOG; print "\nDone.\n\n"; } elsif ($ans == 2) { print "\n"; while (!$m || $m > 12 || $m =~ m/[a-z]/i) { print "Enter month (01-12): "; chomp($m = ); } $m = sprintf "%02.0f",$m; print "\n"; while (!$d || $d > 31 || $d =~ m/[a-z]/i) { print "Enter day (1-31): "; chomp($d = ); } $d = sprintf "%02.0f",$d; print "\n"; while (!$y || $y =~ m/[a-z]/i) { print "Enter year (19??-????): "; chomp($y = ); } $y = sprintf("%04.0f",$y); $mdy = "$m/$d/$y"; open L,"$log" or die "\nCan not open $log\n\n"; open T,">$tmp"; while () { chomp; ($time,$settings) = split /=/; ($hour,$min,$sec,$mon,$mday,$year) = split /,/,$time; $date = "$mon/$mday/$year"; $time = "$hour:$min:$sec"; ($volt,$exc,$pav,$paa,$swr,$tpo,$freq) = split /,/,$settings; if ($mdy eq $date) { print T "\n\n Date : $date at $time GMT\n\n". " System voltage : $volt Volts DC\n". " Exciter voltage : $exc Volts DC \n". " PA voltgae : $pav Volts DC \n". " PA current : $paa Amps DC \n". " Total power out : $tpo Watts \n". " Frequency : $freq MHz \n". " SWR : $swr \n"; } } close T; close L; if (-z $tmp) { print "\nNo data for that date.\n\n". "Done.\n\n"; unlink $tmp; exit 0; } elsif (-T $tmp) { system("less -s $tmp"); print "\nDone.\n\n"; unlink $tmp; } }