class OGNClient::SenderBeacon
Constants
- ADDRESS_TYPES
- SENDER_BEACON_PATTERN
- SENDER_TYPES
Attributes
address_type[R]
climb_rate[R]
errors[R]
flarm_hardware_version[R]
flarm_id[R]
flarm_software_version[R]
flight_level[R]
frequency_offset[R]
gps_accuracy[R]
id[R]
no_tracking[R]
proximity[R]
sender_type[R]
signal_power[R]
signal_quality[R]
stealth_mode[R]
turn_rate[R]
Private Instance Methods
climb_rate=(raw)
click to toggle source
# File lib/ogn_client/messages/sender_beacon.rb 94 def climb_rate=(raw) 95 @climb_rate = (raw.to_i / 60.0 / 3.2808).round(1) 96 end
details=(raw)
click to toggle source
# File lib/ogn_client/messages/sender_beacon.rb 78 def details=(raw) 79 byte = raw.to_i(16) 80 @stealth_mode = !(byte & 0b10000000).zero? 81 @no_tracking = !(byte & 0b01000000).zero? 82 @address_type = ADDRESS_TYPES.fetch((byte & 0b00000011), :unknown) 83 @sender_type = SENDER_TYPES.fetch((byte & 0b00111100) >> 2, :unknown) 84 end
errors=(raw)
click to toggle source
# File lib/ogn_client/messages/sender_beacon.rb 110 def errors=(raw) 111 @errors = raw.to_i 112 end
flarm_hardware_version=(raw)
click to toggle source
# File lib/ogn_client/messages/sender_beacon.rb 126 def flarm_hardware_version=(raw) 127 @flarm_hardware_version = raw.to_i(16) 128 end
flarm_id=(raw)
click to toggle source
# File lib/ogn_client/messages/sender_beacon.rb 130 def flarm_id=(raw) 131 @flarm_id = raw 132 end
flarm_software_version=(raw)
click to toggle source
# File lib/ogn_client/messages/sender_beacon.rb 122 def flarm_software_version=(raw) 123 @flarm_software_version = raw 124 end
flight_level=(raw)
click to toggle source
# File lib/ogn_client/messages/sender_beacon.rb 90 def flight_level=(raw) 91 @flight_level = raw.to_f.round(2) 92 end
frequency_offset=(raw)
click to toggle source
# File lib/ogn_client/messages/sender_beacon.rb 114 def frequency_offset=(raw) 115 @frequency_offset = raw.to_f.round(1) 116 end
gps_accuracy=(raw)
click to toggle source
# File lib/ogn_client/messages/sender_beacon.rb 118 def gps_accuracy=(raw) 119 @gps_accuracy = raw.split('x').map(&:to_i) 120 end
id=(raw)
click to toggle source
# File lib/ogn_client/messages/sender_beacon.rb 86 def id=(raw) 87 @id = raw 88 end
parse(raw, date: nil)
click to toggle source
Calls superclass method
OGNClient::Message::parse
# File lib/ogn_client/messages/sender_beacon.rb 65 def parse(raw, date: nil) 66 raw.match SENDER_BEACON_PATTERN do |match| 67 super unless @raw 68 %i(details id flight_level climb_rate turn_rate signal_power signal_quality errors frequency_offset gps_accuracy flarm_software_version flarm_hardware_version flarm_id proximity).each do |attr| 69 send("#{attr}=", match[attr]) if match[attr] 70 end 71 # NOTE: [@svoop] [ruby21] workaround necessary until support for ruby21 is removed 72 # self.flarm_id ||= id if address_type == :icao || address_type == :flarm 73 self.flarm_id = id if !flarm_id && (address_type == :icao || address_type == :flarm) 74 self 75 end 76 end
proximity=(raw)
click to toggle source
# File lib/ogn_client/messages/sender_beacon.rb 134 def proximity=(raw) 135 @proximity = raw.split(/\shear/) 136 end
signal_power=(raw)
click to toggle source
# File lib/ogn_client/messages/sender_beacon.rb 102 def signal_power=(raw) 103 @signal_power = raw.to_f.round(3) 104 end
signal_quality=(raw)
click to toggle source
# File lib/ogn_client/messages/sender_beacon.rb 106 def signal_quality=(raw) 107 @signal_quality = raw.to_f.round(1) 108 end
turn_rate=(raw)
click to toggle source
# File lib/ogn_client/messages/sender_beacon.rb 98 def turn_rate=(raw) 99 @turn_rate = (raw.to_i / 4.0).round(1) 100 end