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 )