Audio-Radio-XM-PCR
view release on metacpan or search on metacpan
lib/Audio/Radio/XM/PCR.pm view on Meta::CPAN
# Satellite
my @sat_db;
$sat_db[1] = $self->{'signal_strength'}->{'sat'}->{'1'}->{'CN'} / 4;
$sat_db[2] = $self->{'signal_strength'}->{'sat'}->{'2'}->{'CN'} / 4;
$self->{'signal_strength'}->{'sat'}->{'1'}->{'db'} = $sat_db[1];
$self->{'signal_strength'}->{'sat'}->{'2'}->{'db'} = $sat_db[2];
for (my $x=1; $x<=2; $x++) {
if ($sat_db[$x] < 12) {
$self->{'signal_strength'}->{'sat'}->{$x}->{'percent'} = $sat_db[$x] * 80 / 12;
} elsif ($sat_db[$x] < 16) {
$self->{'signal_strength'}->{'sat'}->{$x}->{'percent'} = ((($sat_db[$x] - 48) * 20 / 4) + 80);
} else {
$self->{'signal_strength'}->{'sat'}->{$x}->{'percent'} = 99.9;
}
}
# Terrestrial
my $terr_signal = $self->{'signal_strength'}->{'terr'}->{1}->{'BER'} / 68;
$terr_signal = 100 - ($terr_signal * 10);
if ($terr_signal <= 0) {
$terr_signal = 0;
} elsif ($terr_signal >= 100) {
$terr_signal = 100;
}
$self->{'signal_strength'}->{'terr'}->{1}->{'percent'} = $terr_signal;
# Summary Information
if ($self->{'signal_strength'}->{'sat'}->{'1'}->{'db'} > $self->{'signal_strength'}->{'sat'}->{'2'}->{'db'}) {
$self->{'signal_strength'}->{'sat'}->{'db'} = $self->{'signal_strength'}->{'sat'}->{'1'}->{'db'};
$self->{'signal_strength'}->{'sat'}->{'percent'} = $self->{'signal_strength'}->{'sat'}->{'1'}->{'percent'};
} else {
$self->{'signal_strength'}->{'sat'}->{'db'} = $self->{'signal_strength'}->{'sat'}->{'2'}->{'db'};
$self->{'signal_strength'}->{'sat'}->{'percent'} = $self->{'signal_strength'}->{'sat'}->{'2'}->{'percent'};
}
$self->{'signal_strength'}->{'terr'}->{'percent'} = $self->{'signal_strength'}->{'terr'}->{'1'}->{'percent'};
}
sub _read_mon_song_time {
my $self = shift;
my $code = shift;
my @params = @_;
if ($code eq 'd6') {
my $current_time = time;
my $total_duration = $params[3]*256 + $params[4];
( run in 0.422 second using v1.01-cache-2.11-cpan-709fd43a63f )