class SimCard::SignalQuality

Attributes

signal_strength[R]

Public Class Methods

new(at_interface) click to toggle source
# File lib/sim_card/signal_quality.rb, line 5
def initialize at_interface
  @at_interface = at_interface
  @signal_strength = nil
  @bit_error_rate_min = nil
  @bit_error_rate_max = nil
  parse
end

Private Instance Methods

parse() click to toggle source
# File lib/sim_card/signal_quality.rb, line 14
def parse
  response = @at_interface.send 'AT+CSQ'
  a = response.split("\n")
  if a[1] && a[1].include?('+CSQ: ')
    b = a[1].match /(\d+),(\d+)/
    if b.size == 3
      raw_signal_strength = b[1].to_i
      parse_signal_strength raw_signal_strength
    end
  end
end
parse_signal_strength(raw_signal_strength) click to toggle source
# File lib/sim_card/signal_quality.rb, line 26
def parse_signal_strength raw_signal_strength
  if raw_signal_strength >= 0 && raw_signal_strength <= 31
    @signal_strength =  (2 * raw_signal_strength) - 113
  elsif raw_signal_strength == 99
    # not known
  end
end