nmea_plus 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/gem/lib/nmea_plus.rb +63 -0
- data/gem/lib/nmea_plus/ais_message_factory.rb +17 -0
- data/gem/lib/nmea_plus/generated_parser/parser.rb +127 -0
- data/gem/lib/nmea_plus/generated_parser/tokenizer.rb +100 -0
- data/gem/lib/nmea_plus/message/ais/base_ais.rb +20 -0
- data/gem/lib/nmea_plus/message/ais/vdm.rb +100 -0
- data/gem/lib/nmea_plus/message/ais/vdm_payload/vdm_msg.rb +99 -0
- data/gem/lib/nmea_plus/message/ais/vdm_payload/vdm_msg1.rb +65 -0
- data/gem/lib/nmea_plus/message/ais/vdm_payload/vdm_msg5.rb +38 -0
- data/gem/lib/nmea_plus/message/ais/vdm_payload/vdm_msg8.rb +43 -0
- data/gem/lib/nmea_plus/message/base.rb +172 -0
- data/gem/lib/nmea_plus/message/nmea/aam.rb +17 -0
- data/gem/lib/nmea_plus/message/nmea/alm.rb +25 -0
- data/gem/lib/nmea_plus/message/nmea/apa.rb +20 -0
- data/gem/lib/nmea_plus/message/nmea/apb.rb +14 -0
- data/gem/lib/nmea_plus/message/nmea/base_nmea.rb +36 -0
- data/gem/lib/nmea_plus/message/nmea/bod.rb +14 -0
- data/gem/lib/nmea_plus/message/nmea/bwc.rb +12 -0
- data/gem/lib/nmea_plus/message/nmea/bwr.rb +25 -0
- data/gem/lib/nmea_plus/message/nmea/bww.rb +11 -0
- data/gem/lib/nmea_plus/message/nmea/dbk.rb +13 -0
- data/gem/lib/nmea_plus/message/nmea/dbs.rb +11 -0
- data/gem/lib/nmea_plus/message/nmea/dbt.rb +11 -0
- data/gem/lib/nmea_plus/message/nmea/dcn.rb +26 -0
- data/gem/lib/nmea_plus/message/nmea/dpt.rb +12 -0
- data/gem/lib/nmea_plus/message/nmea/dtm.rb +24 -0
- data/gem/lib/nmea_plus/message/nmea/fsi.rb +14 -0
- data/gem/lib/nmea_plus/message/nmea/gbs.rb +18 -0
- data/gem/lib/nmea_plus/message/nmea/gga.rb +32 -0
- data/gem/lib/nmea_plus/message/nmea/glc.rb +23 -0
- data/gem/lib/nmea_plus/message/nmea/gll.rb +21 -0
- data/gem/lib/nmea_plus/message/nmea/gns.rb +28 -0
- data/gem/lib/nmea_plus/message/nmea/grs.rb +24 -0
- data/gem/lib/nmea_plus/message/nmea/gsa.rb +27 -0
- data/gem/lib/nmea_plus/message/nmea/gst.rb +18 -0
- data/gem/lib/nmea_plus/message/nmea/gsv.rb +29 -0
- data/gem/lib/nmea_plus/message/nmea/gtd.rb +15 -0
- data/gem/lib/nmea_plus/message/nmea/gxa.rb +22 -0
- data/gem/lib/nmea_plus/message/nmea/hdg.rb +20 -0
- data/gem/lib/nmea_plus/message/nmea/hdm.rb +11 -0
- data/gem/lib/nmea_plus/message/nmea/hdt.rb +11 -0
- data/gem/lib/nmea_plus/message/nmea/hfb.rb +12 -0
- data/gem/lib/nmea_plus/message/nmea/hsc.rb +12 -0
- data/gem/lib/nmea_plus/message/nmea/its.rb +11 -0
- data/gem/lib/nmea_plus/message/nmea/lcd.rb +23 -0
- data/gem/lib/nmea_plus/message/nmea/msk.rb +15 -0
- data/gem/lib/nmea_plus/message/nmea/mss.rb +15 -0
- data/gem/lib/nmea_plus/message/nmea/mtw.rb +12 -0
- data/gem/lib/nmea_plus/message/nmea/mwv.rb +15 -0
- data/gem/lib/nmea_plus/message/nmea/oln.rb +22 -0
- data/gem/lib/nmea_plus/message/nmea/osd.rb +19 -0
- data/gem/lib/nmea_plus/message/nmea/pashr.rb +21 -0
- data/gem/lib/nmea_plus/message/nmea/r00.rb +11 -0
- data/gem/lib/nmea_plus/message/nmea/rma.rb +30 -0
- data/gem/lib/nmea_plus/message/nmea/rmb.rb +30 -0
- data/gem/lib/nmea_plus/message/nmea/rmc.rb +33 -0
- data/gem/lib/nmea_plus/message/nmea/rot.rb +12 -0
- data/gem/lib/nmea_plus/message/nmea/rpm.rb +15 -0
- data/gem/lib/nmea_plus/message/nmea/rsa.rb +17 -0
- data/gem/lib/nmea_plus/message/nmea/rsd.rb +14 -0
- data/gem/lib/nmea_plus/message/nmea/rte.rb +16 -0
- data/gem/lib/nmea_plus/message/nmea/sfi.rb +18 -0
- data/gem/lib/nmea_plus/message/nmea/stn.rb +11 -0
- data/gem/lib/nmea_plus/message/nmea/tds.rb +11 -0
- data/gem/lib/nmea_plus/message/nmea/tfi.rb +13 -0
- data/gem/lib/nmea_plus/message/nmea/tpc.rb +13 -0
- data/gem/lib/nmea_plus/message/nmea/tpr.rb +13 -0
- data/gem/lib/nmea_plus/message/nmea/tpt.rb +13 -0
- data/gem/lib/nmea_plus/message/nmea/trf.rb +28 -0
- data/gem/lib/nmea_plus/message/nmea/ttm.rb +22 -0
- data/gem/lib/nmea_plus/message/nmea/vbw.rb +16 -0
- data/gem/lib/nmea_plus/message/nmea/vdr.rb +13 -0
- data/gem/lib/nmea_plus/message/nmea/vhw.rb +14 -0
- data/gem/lib/nmea_plus/message/nmea/vlw.rb +12 -0
- data/gem/lib/nmea_plus/message/nmea/vpw.rb +12 -0
- data/gem/lib/nmea_plus/message/nmea/vtg.rb +41 -0
- data/gem/lib/nmea_plus/message/nmea/vwr.rb +15 -0
- data/gem/lib/nmea_plus/message/nmea/wcv.rb +12 -0
- data/gem/lib/nmea_plus/message/nmea/wnc.rb +14 -0
- data/gem/lib/nmea_plus/message/nmea/wpl.rb +19 -0
- data/gem/lib/nmea_plus/message/nmea/xdr.rb +14 -0
- data/gem/lib/nmea_plus/message/nmea/xte.rb +16 -0
- data/gem/lib/nmea_plus/message/nmea/xtr.rb +12 -0
- data/gem/lib/nmea_plus/message/nmea/zda.rb +23 -0
- data/gem/lib/nmea_plus/message/nmea/zfo.rb +13 -0
- data/gem/lib/nmea_plus/message/nmea/ztg.rb +13 -0
- data/gem/lib/nmea_plus/message_factory.rb +68 -0
- data/gem/lib/nmea_plus/nmea_message_factory.rb +110 -0
- data/gem/lib/nmea_plus/version.rb +3 -0
- metadata +285 -0
@@ -0,0 +1,25 @@
|
|
1
|
+
require_relative "base_nmea"
|
2
|
+
|
3
|
+
module NMEAPlus
|
4
|
+
module Message
|
5
|
+
module NMEA
|
6
|
+
class BWR < NMEAPlus::Message::NMEA::NMEAMessage
|
7
|
+
field_reader :utc_time, 1, :_utctime_hms
|
8
|
+
|
9
|
+
def waypoint_latitude
|
10
|
+
_degrees_minutes_to_decimal(@fields[2], @fields[3])
|
11
|
+
end
|
12
|
+
|
13
|
+
def waypoint_longitude
|
14
|
+
_degrees_minutes_to_decimal(@fields[4], @fields[5])
|
15
|
+
end
|
16
|
+
|
17
|
+
field_reader :bearing_true, 6, :_float
|
18
|
+
field_reader :bearing_magnetic, 8, :_float
|
19
|
+
field_reader :nautical_miles, 10, :_float
|
20
|
+
field_reader :waypoint_id, 12, :_string
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require_relative "base_nmea"
|
2
|
+
|
3
|
+
module NMEAPlus
|
4
|
+
module Message
|
5
|
+
module NMEA
|
6
|
+
class DBK < NMEAPlus::Message::NMEA::NMEAMessage
|
7
|
+
field_reader :depth_feet, 1, :_float
|
8
|
+
field_reader :depth_meters, 3, :_float
|
9
|
+
field_reader :depth_fathoms, 5, :_float
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require_relative "base_nmea"
|
2
|
+
|
3
|
+
module NMEAPlus
|
4
|
+
module Message
|
5
|
+
module NMEA
|
6
|
+
class DCN < NMEAPlus::Message::NMEA::NMEAMessage
|
7
|
+
field_reader :decca_chain_id, 1, :_integer
|
8
|
+
field_reader :red_zone_id, 2, :_string
|
9
|
+
field_reader :red_position_line, 3, :_float
|
10
|
+
field_reader :red_master_line_ok?, 4, :_av_boolean
|
11
|
+
field_reader :green_zone_id, 5, :_string
|
12
|
+
field_reader :green_position_line, 6, :_float
|
13
|
+
field_reader :green_master_line_ok?, 7, :_av_boolean
|
14
|
+
field_reader :purple_zone_id, 8, :_string
|
15
|
+
field_reader :purple_position_line, 9, :_float
|
16
|
+
field_reader :purple_master_line_ok?, 10, :_av_boolean
|
17
|
+
field_reader :use_red_line_navigation?, 11, :_av_boolean
|
18
|
+
field_reader :use_green_line_navigation?, 12, :_av_boolean
|
19
|
+
field_reader :use_purple_line_navigation?, 13, :_av_boolean
|
20
|
+
field_reader :position_uncertainty, 14, :_float
|
21
|
+
field_reader :position_uncertainty_units, 15, :_string
|
22
|
+
field_reader :fix_data_basis, 16, :_integer
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require_relative "base_nmea"
|
2
|
+
|
3
|
+
module NMEAPlus
|
4
|
+
module Message
|
5
|
+
module NMEA
|
6
|
+
class DTM < NMEAPlus::Message::NMEA::NMEAMessage
|
7
|
+
field_reader :code, 1, :_string
|
8
|
+
field_reader :subcode, 2, :_string
|
9
|
+
|
10
|
+
def latitude_offset
|
11
|
+
_nsew_signed_float(@fields[3], @fields[4])
|
12
|
+
end
|
13
|
+
|
14
|
+
def longitude_offset
|
15
|
+
_nsew_signed_float(@fields[5], @fields[6])
|
16
|
+
end
|
17
|
+
|
18
|
+
field_reader :altitude_meters, 7, :_float
|
19
|
+
field_reader :datum_name, 8, :_string
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require_relative "base_nmea"
|
2
|
+
|
3
|
+
module NMEAPlus
|
4
|
+
module Message
|
5
|
+
module NMEA
|
6
|
+
class FSI < NMEAPlus::Message::NMEA::NMEAMessage
|
7
|
+
field_reader :transmit_frequency, 1, :_float
|
8
|
+
field_reader :receive_frequency, 2, :_float
|
9
|
+
field_reader :communications_mode, 3, :_string
|
10
|
+
field_reader :power_level, 4, :_float
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require_relative "base_nmea"
|
2
|
+
|
3
|
+
module NMEAPlus
|
4
|
+
module Message
|
5
|
+
module NMEA
|
6
|
+
class GBS < NMEAPlus::Message::NMEA::NMEAMessage
|
7
|
+
field_reader :fix_time, 1, :_utctime_hms
|
8
|
+
field_reader :expected_error_latitude_meters, 2, :_float
|
9
|
+
field_reader :expected_error_longitude_meters, 3, :_float
|
10
|
+
field_reader :expected_error_altitude_meters, 4, :_float
|
11
|
+
field_reader :failed_satelite_prn, 5, :_integer
|
12
|
+
field_reader :missed_detection_probability, 6, :_float
|
13
|
+
field_reader :failed_satellite_bias_meters, 7, :_float
|
14
|
+
field_reader :bias_standard_deviation, 8, :_float
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
|
2
|
+
require_relative "base_nmea"
|
3
|
+
|
4
|
+
module NMEAPlus
|
5
|
+
module Message
|
6
|
+
module NMEA
|
7
|
+
|
8
|
+
class GGA < NMEAPlus::Message::NMEA::NMEAMessage
|
9
|
+
field_reader :fix_time, 1, :_utctime_hms
|
10
|
+
|
11
|
+
def latitude
|
12
|
+
_degrees_minutes_to_decimal(@fields[2], @fields[3])
|
13
|
+
end
|
14
|
+
|
15
|
+
def longitude
|
16
|
+
_degrees_minutes_to_decimal(@fields[4], @fields[5])
|
17
|
+
end
|
18
|
+
|
19
|
+
field_reader :fix_quality, 6, :_integer
|
20
|
+
field_reader :satellites, 7, :_integer
|
21
|
+
field_reader :horizontal_dilution, 8, :_float
|
22
|
+
field_reader :altitude, 9, :_float
|
23
|
+
field_reader :altitude_units, 10, :_string
|
24
|
+
field_reader :geoid_height, 11, :_float
|
25
|
+
field_reader :geoid_height_units, 12, :_string
|
26
|
+
field_reader :seconds_since_last_update, 13, :_float
|
27
|
+
field_reader :dgps_station_id, 14, :_integer
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require_relative "base_nmea"
|
2
|
+
|
3
|
+
module NMEAPlus
|
4
|
+
module Message
|
5
|
+
module NMEA
|
6
|
+
class GLC < NMEAPlus::Message::NMEA::NMEAMessage
|
7
|
+
field_reader :gri_tenth_microseconds, 1, :_integer
|
8
|
+
field_reader :master_toa_microseconds, 2, :_float
|
9
|
+
field_reader :master_toa_signal?, 3, :_av_boolean
|
10
|
+
field_reader :time_difference_1_microseconds, 4, :_float
|
11
|
+
field_reader :time_difference_1_signal?, 5, :_av_boolean
|
12
|
+
field_reader :time_difference_2_microseconds, 6, :_float
|
13
|
+
field_reader :time_difference_2_signal?, 7, :_av_boolean
|
14
|
+
field_reader :time_difference_3_microseconds, 8, :_float
|
15
|
+
field_reader :time_difference_3_signal?, 9, :_av_boolean
|
16
|
+
field_reader :time_difference_4_microseconds, 10, :_float
|
17
|
+
field_reader :time_difference_4_signal?, 11, :_av_boolean
|
18
|
+
field_reader :time_difference_5_microseconds, 12, :_float
|
19
|
+
field_reader :time_difference_5_signal?, 13, :_av_boolean
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require_relative "base_nmea"
|
2
|
+
|
3
|
+
module NMEAPlus
|
4
|
+
module Message
|
5
|
+
module NMEA
|
6
|
+
class GLL < NMEAPlus::Message::NMEA::NMEAMessage
|
7
|
+
def latitude
|
8
|
+
_degrees_minutes_to_decimal(@fields[1], @fields[2])
|
9
|
+
end
|
10
|
+
|
11
|
+
def longitude
|
12
|
+
_degrees_minutes_to_decimal(@fields[3], @fields[4])
|
13
|
+
end
|
14
|
+
|
15
|
+
field_reader :fix_time, 5, :_utctime_hms
|
16
|
+
field_reader :valid?, 6, :_av_boolean
|
17
|
+
field_reader :faa_mode, 7, :_string
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
require_relative "base_nmea"
|
3
|
+
|
4
|
+
module NMEAPlus
|
5
|
+
module Message
|
6
|
+
module NMEA
|
7
|
+
class GNS < NMEAPlus::Message::NMEA::NMEAMessage
|
8
|
+
field_reader :fix_time, 1, :_utctime_hms
|
9
|
+
|
10
|
+
def latitude
|
11
|
+
_degrees_minutes_to_decimal(@fields[2], @fields[3])
|
12
|
+
end
|
13
|
+
|
14
|
+
def longitude
|
15
|
+
_degrees_minutes_to_decimal(@fields[4], @fields[5])
|
16
|
+
end
|
17
|
+
|
18
|
+
field_reader :mode, 6, :_string
|
19
|
+
field_reader :satellites, 7, :_integer
|
20
|
+
field_reader :hdrop, 8, :_string
|
21
|
+
field_reader :altitude, 9, :_float
|
22
|
+
field_reader :geoidal_separation, 10, :_float
|
23
|
+
field_reader :data_age, 11, :_float
|
24
|
+
field_reader :differential_reference_station_id, 12, :_integer
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require_relative "base_nmea"
|
2
|
+
|
3
|
+
module NMEAPlus
|
4
|
+
module Message
|
5
|
+
module NMEA
|
6
|
+
class GRS < NMEAPlus::Message::NMEA::NMEAMessage
|
7
|
+
field_reader :gga_fix_time, 1, :_utctime_hms
|
8
|
+
field_reader :gga_includes_residuals?, 2, :_10_boolean
|
9
|
+
field_reader :residual_satellite_1, 3, :_float
|
10
|
+
field_reader :residual_satellite_2, 4, :_float
|
11
|
+
field_reader :residual_satellite_3, 5, :_float
|
12
|
+
field_reader :residual_satellite_4, 6, :_float
|
13
|
+
field_reader :residual_satellite_5, 7, :_float
|
14
|
+
field_reader :residual_satellite_6, 8, :_float
|
15
|
+
field_reader :residual_satellite_7, 9, :_float
|
16
|
+
field_reader :residual_satellite_8, 10, :_float
|
17
|
+
field_reader :residual_satellite_9, 11, :_float
|
18
|
+
field_reader :residual_satellite_10, 12, :_float
|
19
|
+
field_reader :residual_satellite_11, 13, :_float
|
20
|
+
field_reader :residual_satellite_12, 14, :_float
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require_relative "base_nmea"
|
2
|
+
|
3
|
+
module NMEAPlus
|
4
|
+
module Message
|
5
|
+
module NMEA
|
6
|
+
class GSA < NMEAPlus::Message::NMEA::NMEAMessage
|
7
|
+
field_reader :selection_mode, 1, :_string
|
8
|
+
field_reader :mode, 2, :_integer
|
9
|
+
field_reader :satellite1, 3, :_integer
|
10
|
+
field_reader :satellite2, 4, :_integer
|
11
|
+
field_reader :satellite3, 5, :_integer
|
12
|
+
field_reader :satellite4, 6, :_integer
|
13
|
+
field_reader :satellite5, 7, :_integer
|
14
|
+
field_reader :satellite6, 8, :_integer
|
15
|
+
field_reader :satellite7, 9, :_integer
|
16
|
+
field_reader :satellite8, 10, :_integer
|
17
|
+
field_reader :satellite9, 11, :_integer
|
18
|
+
field_reader :satellite10, 12, :_integer
|
19
|
+
field_reader :satellite11, 13, :_integer
|
20
|
+
field_reader :satellite12, 14, :_integer
|
21
|
+
field_reader :pdop, 15, :_string
|
22
|
+
field_reader :hdop, 16, :_string
|
23
|
+
field_reader :vdop, 17, :_string
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require_relative "base_nmea"
|
2
|
+
|
3
|
+
module NMEAPlus
|
4
|
+
module Message
|
5
|
+
module NMEA
|
6
|
+
class GST < NMEAPlus::Message::NMEA::NMEAMessage
|
7
|
+
field_reader :gga_fix_time, 1, :_utctime_hms
|
8
|
+
field_reader :total_rms_standard_deviation, 2, :_float
|
9
|
+
field_reader :standard_deviation_semimajor_meters, 3, :_float
|
10
|
+
field_reader :standard_deviation_semiminor_meters, 4, :_float
|
11
|
+
field_reader :semimajor_error_ellipse_orientation_degrees, 5, :_float
|
12
|
+
field_reader :standard_deviation_latitude_meters, 6, :_float
|
13
|
+
field_reader :standard_deviation_longitude_meters, 7, :_float
|
14
|
+
field_reader :standard_deviation_altitude_meters, 8, :_float
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require_relative "base_nmea"
|
2
|
+
|
3
|
+
module NMEAPlus
|
4
|
+
module Message
|
5
|
+
module NMEA
|
6
|
+
class GSV < NMEAPlus::Message::NMEA::NMEAMessage
|
7
|
+
field_reader :total_messages, 1, :_integer
|
8
|
+
field_reader :message_number, 2, :_integer
|
9
|
+
field_reader :satellites, 3, :_integer
|
10
|
+
field_reader :satellite1_prn, 4, :_integer
|
11
|
+
field_reader :satellite1_elevation_degrees, 5, :_float
|
12
|
+
field_reader :satellite1_azimuth_degrees, 6, :_float
|
13
|
+
field_reader :satellite1_snr, 7, :_float
|
14
|
+
field_reader :satellite2_prn, 8, :_integer
|
15
|
+
field_reader :satellite2_elevation_degrees, 9, :_float
|
16
|
+
field_reader :satellite2_azimuth_degrees, 10, :_float
|
17
|
+
field_reader :satellite2_snr, 11, :_float
|
18
|
+
field_reader :satellite3_prn, 12, :_integer
|
19
|
+
field_reader :satellite3_elevation_degrees, 13, :_float
|
20
|
+
field_reader :satellite3_azimuth_degrees, 14, :_float
|
21
|
+
field_reader :satellite3_snr, 15, :_float
|
22
|
+
field_reader :satellite4_prn, 16, :_integer
|
23
|
+
field_reader :satellite4_elevation_degrees, 17, :_float
|
24
|
+
field_reader :satellite4_azimuth_degrees, 18, :_float
|
25
|
+
field_reader :satellite4_snr, 19, :_float
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require_relative "base_nmea"
|
2
|
+
|
3
|
+
module NMEAPlus
|
4
|
+
module Message
|
5
|
+
module NMEA
|
6
|
+
class GTD < NMEAPlus::Message::NMEA::NMEAMessage
|
7
|
+
field_reader :difference1, 1, :_float
|
8
|
+
field_reader :difference2, 2, :_float
|
9
|
+
field_reader :difference3, 3, :_float
|
10
|
+
field_reader :difference4, 4, :_float
|
11
|
+
field_reader :difference5, 5, :_float
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require_relative "base_nmea"
|
2
|
+
|
3
|
+
module NMEAPlus
|
4
|
+
module Message
|
5
|
+
module NMEA
|
6
|
+
class GXA < NMEAPlus::Message::NMEA::NMEAMessage
|
7
|
+
|
8
|
+
field_reader :fix_time, 1, :_utctime_hms
|
9
|
+
def latitude
|
10
|
+
_degrees_minutes_to_decimal(@fields[2], @fields[3])
|
11
|
+
end
|
12
|
+
|
13
|
+
def longitude
|
14
|
+
_degrees_minutes_to_decimal(@fields[4], @fields[5])
|
15
|
+
end
|
16
|
+
|
17
|
+
field_reader :waypoint_id, 6, :_integer
|
18
|
+
field_reader :satellite, 7, :_integer
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|