nmea_plus 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +116 -0
- data/{gem/lib → lib}/nmea_plus.rb +19 -3
- data/lib/nmea_plus/ais_message_factory.rb +23 -0
- data/{gem/lib → lib}/nmea_plus/generated_parser/parser.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/generated_parser/tokenizer.rb +1 -1
- data/{gem/lib → lib}/nmea_plus/message/ais/base_ais.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/ais/vdm.rb +5 -4
- data/{gem/lib → lib}/nmea_plus/message/ais/vdm_payload/vdm_msg.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/ais/vdm_payload/vdm_msg1.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/ais/vdm_payload/vdm_msg5.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/ais/vdm_payload/vdm_msg8.rb +0 -0
- data/lib/nmea_plus/message/base.rb +235 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/aam.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/alm.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/apa.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/apb.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/base_nmea.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/bod.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/bwc.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/bwr.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/bww.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/dbk.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/dbs.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/dbt.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/dcn.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/dpt.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/dtm.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/fsi.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/gbs.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/gga.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/glc.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/gll.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/gns.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/grs.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/gsa.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/gst.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/gsv.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/gtd.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/gxa.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/hdg.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/hdm.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/hdt.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/hfb.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/hsc.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/its.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/lcd.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/msk.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/mss.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/mtw.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/mwv.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/oln.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/osd.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/pashr.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/r00.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/rma.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/rmb.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/rmc.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/rot.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/rpm.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/rsa.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/rsd.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/rte.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/sfi.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/stn.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/tds.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/tfi.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/tpc.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/tpr.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/tpt.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/trf.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/ttm.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/vbw.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/vdr.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/vhw.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/vlw.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/vpw.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/vtg.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/vwr.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/wcv.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/wnc.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/wpl.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/xdr.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/xte.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/xtr.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/zda.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/zfo.rb +0 -0
- data/{gem/lib → lib}/nmea_plus/message/nmea/ztg.rb +0 -0
- data/lib/nmea_plus/message_factory.rb +92 -0
- data/{gem/lib → lib}/nmea_plus/nmea_message_factory.rb +5 -0
- data/{gem/lib → lib}/nmea_plus/version.rb +1 -1
- metadata +117 -96
- data/gem/lib/nmea_plus/ais_message_factory.rb +0 -17
- data/gem/lib/nmea_plus/message/base.rb +0 -172
- data/gem/lib/nmea_plus/message_factory.rb +0 -68
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,92 @@
|
|
1
|
+
|
2
|
+
module NMEAPlus
|
3
|
+
|
4
|
+
# The base class for MessageFactory objects, which are instantiated in the Parser. MessageFactory objects
|
5
|
+
# create message classes with a common prefix and variable suffix. In an NMEA example,
|
6
|
+
# the prefix might be GP and the suffixes might be AAM or GLL (making GPAAM and GPGLL).
|
7
|
+
#
|
8
|
+
# If you are creating more subclasses of MessageFactory, you are probably a developer adding more NMEA-style
|
9
|
+
# message factories to the parser, and you are working with the repo (not the gem).
|
10
|
+
# @abstract MessageFactory is meant to be extended by actual implementations of message parsing classes
|
11
|
+
class MessageFactory
|
12
|
+
|
13
|
+
# For dynamic loading purposes. Don't mess this up!
|
14
|
+
# @abstract
|
15
|
+
# @return [String] The name of the parent module
|
16
|
+
def self.parent_module
|
17
|
+
"FIXME_parent_module"
|
18
|
+
end
|
19
|
+
|
20
|
+
# Sometimes we want to override the data_type specified in the message (e.g. __AAM) with an
|
21
|
+
# alternate type (like GPAAM) or a generic type (like AAM). This is where we put that logic.
|
22
|
+
# @abstract
|
23
|
+
# @param data_type [String] The data_type of the NMEA message (e.g. the GPGLL of "$GPGLL,12,3,,4,5*00")
|
24
|
+
# @return [String] The data_type that we will attempt to use in decoding the message
|
25
|
+
def self.alternate_data_type(data_type)
|
26
|
+
data_type # in basic implementation, there is no alternative.
|
27
|
+
end
|
28
|
+
|
29
|
+
# Check whether a given object exists. this will work for all consts but shhhhhhhhh
|
30
|
+
# @param class_identifier [String] The name of a ruby class
|
31
|
+
# @return [bool]
|
32
|
+
def self.message_class_exists?(class_identifier)
|
33
|
+
Object::const_get(class_identifier)
|
34
|
+
return true
|
35
|
+
rescue ::NameError
|
36
|
+
return false
|
37
|
+
end
|
38
|
+
|
39
|
+
# Shortcut for the full name to a message class built from this factory.
|
40
|
+
# @param data_type [String]
|
41
|
+
# @return [String] The fully qualified message class name
|
42
|
+
def self.message_class_name(data_type)
|
43
|
+
"NMEAPlus::Message::#{self.parent_module}::#{data_type}"
|
44
|
+
end
|
45
|
+
|
46
|
+
# Try to load a class for the data_type specified in the message. If it doesn't exist,
|
47
|
+
# then try an alternate. If that doesn't work, fail.
|
48
|
+
# @param data_type [String] The data type for a given message
|
49
|
+
# @return [String] The fully qualified message class name
|
50
|
+
def self.best_match_for_data_type(data_type)
|
51
|
+
return data_type if self.message_class_exists?(self.message_class_name(data_type))
|
52
|
+
self.alternate_data_type(data_type)
|
53
|
+
end
|
54
|
+
|
55
|
+
# Get a message class through reflection
|
56
|
+
# @param class_identifier [String] the fully-qualified name of the class to instantiate
|
57
|
+
# @return [Object] The object for that class string
|
58
|
+
def self.dynamically_get_message_object(class_identifier)
|
59
|
+
Object::const_get(class_identifier).new
|
60
|
+
rescue ::NameError => e
|
61
|
+
raise ::NameError, "Couldn't instantiate a #{class_identifier} object: #{e}"
|
62
|
+
end
|
63
|
+
|
64
|
+
# Choose what message class to create, and create it based on the first of the (unsplitted) fields -- which
|
65
|
+
# is the data_type
|
66
|
+
# @param message_prefix [String] The single-character prefix for this message type (e.g. "$", "!")
|
67
|
+
# @param fields [String] The entire payload of the message
|
68
|
+
# @param checksum [String] The two-character checksum of the message
|
69
|
+
# @return [NMEAPlus::Message] A message object
|
70
|
+
def self.create(message_prefix, fields, checksum)
|
71
|
+
# get the data type and adjust it if necessary (e.g. support for NMEA standard sentences like __AAM)
|
72
|
+
data_type = fields.split(',', 2)[0].upcase # assumed to be 'GPGGA', etc
|
73
|
+
interpreted_type = self.best_match_for_data_type(data_type)
|
74
|
+
class_name = self.message_class_name(interpreted_type)
|
75
|
+
|
76
|
+
# create message and make sure it's the right type
|
77
|
+
message = self.dynamically_get_message_object(class_name)
|
78
|
+
unless message.is_a? NMEAPlus::Message::Base
|
79
|
+
fail ArgumentError, "Undefined message type #{data_type} (classname #{class_name})"
|
80
|
+
end
|
81
|
+
|
82
|
+
# assign its data and return it
|
83
|
+
message.checksum = checksum
|
84
|
+
message.payload = fields
|
85
|
+
message.prefix = message_prefix
|
86
|
+
message.interpreted_data_type = interpreted_type
|
87
|
+
message
|
88
|
+
end
|
89
|
+
|
90
|
+
end
|
91
|
+
|
92
|
+
end
|
@@ -95,12 +95,17 @@ end
|
|
95
95
|
|
96
96
|
module NMEAPlus
|
97
97
|
|
98
|
+
# Defines a factory for NMEA messages, which will all use {NMEAPlus::Message::NMEA::NMEAMessage} as their base
|
98
99
|
class NMEAMessageFactory < MessageFactory
|
99
100
|
|
101
|
+
# @return [String] The name of the parent module: NMEA
|
100
102
|
def self.parent_module
|
101
103
|
'NMEA'
|
102
104
|
end
|
103
105
|
|
106
|
+
# Match all NMEA messages as their generic counterparts. GPGLL becomes GLL, etc.
|
107
|
+
# @param data_type [String] The data_type of the NMEA message (e.g. the GPGLL of "$GPGLL,12,3,,4,5*00")
|
108
|
+
# @return [String] The data_type that we will attempt to use in decoding the message (e.g. GLL)
|
104
109
|
def self.alternate_data_type(data_type)
|
105
110
|
# match last 3 digits (get rid of talker)
|
106
111
|
data_type[2..4]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nmea_plus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ian Katz
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: racc
|
@@ -158,105 +158,126 @@ dependencies:
|
|
158
158
|
- - '>='
|
159
159
|
- !ruby/object:Gem::Version
|
160
160
|
version: '1.0'
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
161
|
+
- !ruby/object:Gem::Dependency
|
162
|
+
name: yard
|
163
|
+
requirement: !ruby/object:Gem::Requirement
|
164
|
+
requirements:
|
165
|
+
- - ~>
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: '0.8'
|
168
|
+
- - '>='
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
version: '0.8'
|
171
|
+
type: :development
|
172
|
+
prerelease: false
|
173
|
+
version_requirements: !ruby/object:Gem::Requirement
|
174
|
+
requirements:
|
175
|
+
- - ~>
|
176
|
+
- !ruby/object:Gem::Version
|
177
|
+
version: '0.8'
|
178
|
+
- - '>='
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0.8'
|
181
|
+
description: "A pure-ruby parser and decoder toolkit for NMEA messages (GPS, AIS,
|
182
|
+
and other similar formats)\n that provides convenient access
|
183
|
+
to all data fields. Nearly all standard NMEA messages,\n the
|
184
|
+
most common AIS messages, and some proprietary messages are supported.\n "
|
165
185
|
email:
|
166
186
|
- ifreecarve@gmail.com
|
167
187
|
executables: []
|
168
188
|
extensions: []
|
169
189
|
extra_rdoc_files: []
|
170
190
|
files:
|
171
|
-
-
|
172
|
-
-
|
173
|
-
-
|
174
|
-
-
|
175
|
-
-
|
176
|
-
-
|
177
|
-
-
|
178
|
-
-
|
179
|
-
-
|
180
|
-
-
|
181
|
-
-
|
182
|
-
-
|
183
|
-
-
|
184
|
-
-
|
185
|
-
-
|
186
|
-
-
|
187
|
-
-
|
188
|
-
-
|
189
|
-
-
|
190
|
-
-
|
191
|
-
-
|
192
|
-
-
|
193
|
-
-
|
194
|
-
-
|
195
|
-
-
|
196
|
-
-
|
197
|
-
-
|
198
|
-
-
|
199
|
-
-
|
200
|
-
-
|
201
|
-
-
|
202
|
-
-
|
203
|
-
-
|
204
|
-
-
|
205
|
-
-
|
206
|
-
-
|
207
|
-
-
|
208
|
-
-
|
209
|
-
-
|
210
|
-
-
|
211
|
-
-
|
212
|
-
-
|
213
|
-
-
|
214
|
-
-
|
215
|
-
-
|
216
|
-
-
|
217
|
-
-
|
218
|
-
-
|
219
|
-
-
|
220
|
-
-
|
221
|
-
-
|
222
|
-
-
|
223
|
-
-
|
224
|
-
-
|
225
|
-
-
|
226
|
-
-
|
227
|
-
-
|
228
|
-
-
|
229
|
-
-
|
230
|
-
-
|
231
|
-
-
|
232
|
-
-
|
233
|
-
-
|
234
|
-
-
|
235
|
-
-
|
236
|
-
-
|
237
|
-
-
|
238
|
-
-
|
239
|
-
-
|
240
|
-
-
|
241
|
-
-
|
242
|
-
-
|
243
|
-
-
|
244
|
-
-
|
245
|
-
-
|
246
|
-
-
|
247
|
-
-
|
248
|
-
-
|
249
|
-
-
|
250
|
-
-
|
251
|
-
-
|
252
|
-
-
|
253
|
-
-
|
254
|
-
-
|
255
|
-
-
|
256
|
-
-
|
257
|
-
-
|
258
|
-
-
|
259
|
-
-
|
191
|
+
- README.md
|
192
|
+
- lib/nmea_plus.rb
|
193
|
+
- lib/nmea_plus/ais_message_factory.rb
|
194
|
+
- lib/nmea_plus/generated_parser/parser.rb
|
195
|
+
- lib/nmea_plus/generated_parser/tokenizer.rb
|
196
|
+
- lib/nmea_plus/message/ais/base_ais.rb
|
197
|
+
- lib/nmea_plus/message/ais/vdm.rb
|
198
|
+
- lib/nmea_plus/message/ais/vdm_payload/vdm_msg.rb
|
199
|
+
- lib/nmea_plus/message/ais/vdm_payload/vdm_msg1.rb
|
200
|
+
- lib/nmea_plus/message/ais/vdm_payload/vdm_msg5.rb
|
201
|
+
- lib/nmea_plus/message/ais/vdm_payload/vdm_msg8.rb
|
202
|
+
- lib/nmea_plus/message/base.rb
|
203
|
+
- lib/nmea_plus/message/nmea/aam.rb
|
204
|
+
- lib/nmea_plus/message/nmea/alm.rb
|
205
|
+
- lib/nmea_plus/message/nmea/apa.rb
|
206
|
+
- lib/nmea_plus/message/nmea/apb.rb
|
207
|
+
- lib/nmea_plus/message/nmea/base_nmea.rb
|
208
|
+
- lib/nmea_plus/message/nmea/bod.rb
|
209
|
+
- lib/nmea_plus/message/nmea/bwc.rb
|
210
|
+
- lib/nmea_plus/message/nmea/bwr.rb
|
211
|
+
- lib/nmea_plus/message/nmea/bww.rb
|
212
|
+
- lib/nmea_plus/message/nmea/dbk.rb
|
213
|
+
- lib/nmea_plus/message/nmea/dbs.rb
|
214
|
+
- lib/nmea_plus/message/nmea/dbt.rb
|
215
|
+
- lib/nmea_plus/message/nmea/dcn.rb
|
216
|
+
- lib/nmea_plus/message/nmea/dpt.rb
|
217
|
+
- lib/nmea_plus/message/nmea/dtm.rb
|
218
|
+
- lib/nmea_plus/message/nmea/fsi.rb
|
219
|
+
- lib/nmea_plus/message/nmea/gbs.rb
|
220
|
+
- lib/nmea_plus/message/nmea/gga.rb
|
221
|
+
- lib/nmea_plus/message/nmea/glc.rb
|
222
|
+
- lib/nmea_plus/message/nmea/gll.rb
|
223
|
+
- lib/nmea_plus/message/nmea/gns.rb
|
224
|
+
- lib/nmea_plus/message/nmea/grs.rb
|
225
|
+
- lib/nmea_plus/message/nmea/gsa.rb
|
226
|
+
- lib/nmea_plus/message/nmea/gst.rb
|
227
|
+
- lib/nmea_plus/message/nmea/gsv.rb
|
228
|
+
- lib/nmea_plus/message/nmea/gtd.rb
|
229
|
+
- lib/nmea_plus/message/nmea/gxa.rb
|
230
|
+
- lib/nmea_plus/message/nmea/hdg.rb
|
231
|
+
- lib/nmea_plus/message/nmea/hdm.rb
|
232
|
+
- lib/nmea_plus/message/nmea/hdt.rb
|
233
|
+
- lib/nmea_plus/message/nmea/hfb.rb
|
234
|
+
- lib/nmea_plus/message/nmea/hsc.rb
|
235
|
+
- lib/nmea_plus/message/nmea/its.rb
|
236
|
+
- lib/nmea_plus/message/nmea/lcd.rb
|
237
|
+
- lib/nmea_plus/message/nmea/msk.rb
|
238
|
+
- lib/nmea_plus/message/nmea/mss.rb
|
239
|
+
- lib/nmea_plus/message/nmea/mtw.rb
|
240
|
+
- lib/nmea_plus/message/nmea/mwv.rb
|
241
|
+
- lib/nmea_plus/message/nmea/oln.rb
|
242
|
+
- lib/nmea_plus/message/nmea/osd.rb
|
243
|
+
- lib/nmea_plus/message/nmea/pashr.rb
|
244
|
+
- lib/nmea_plus/message/nmea/r00.rb
|
245
|
+
- lib/nmea_plus/message/nmea/rma.rb
|
246
|
+
- lib/nmea_plus/message/nmea/rmb.rb
|
247
|
+
- lib/nmea_plus/message/nmea/rmc.rb
|
248
|
+
- lib/nmea_plus/message/nmea/rot.rb
|
249
|
+
- lib/nmea_plus/message/nmea/rpm.rb
|
250
|
+
- lib/nmea_plus/message/nmea/rsa.rb
|
251
|
+
- lib/nmea_plus/message/nmea/rsd.rb
|
252
|
+
- lib/nmea_plus/message/nmea/rte.rb
|
253
|
+
- lib/nmea_plus/message/nmea/sfi.rb
|
254
|
+
- lib/nmea_plus/message/nmea/stn.rb
|
255
|
+
- lib/nmea_plus/message/nmea/tds.rb
|
256
|
+
- lib/nmea_plus/message/nmea/tfi.rb
|
257
|
+
- lib/nmea_plus/message/nmea/tpc.rb
|
258
|
+
- lib/nmea_plus/message/nmea/tpr.rb
|
259
|
+
- lib/nmea_plus/message/nmea/tpt.rb
|
260
|
+
- lib/nmea_plus/message/nmea/trf.rb
|
261
|
+
- lib/nmea_plus/message/nmea/ttm.rb
|
262
|
+
- lib/nmea_plus/message/nmea/vbw.rb
|
263
|
+
- lib/nmea_plus/message/nmea/vdr.rb
|
264
|
+
- lib/nmea_plus/message/nmea/vhw.rb
|
265
|
+
- lib/nmea_plus/message/nmea/vlw.rb
|
266
|
+
- lib/nmea_plus/message/nmea/vpw.rb
|
267
|
+
- lib/nmea_plus/message/nmea/vtg.rb
|
268
|
+
- lib/nmea_plus/message/nmea/vwr.rb
|
269
|
+
- lib/nmea_plus/message/nmea/wcv.rb
|
270
|
+
- lib/nmea_plus/message/nmea/wnc.rb
|
271
|
+
- lib/nmea_plus/message/nmea/wpl.rb
|
272
|
+
- lib/nmea_plus/message/nmea/xdr.rb
|
273
|
+
- lib/nmea_plus/message/nmea/xte.rb
|
274
|
+
- lib/nmea_plus/message/nmea/xtr.rb
|
275
|
+
- lib/nmea_plus/message/nmea/zda.rb
|
276
|
+
- lib/nmea_plus/message/nmea/zfo.rb
|
277
|
+
- lib/nmea_plus/message/nmea/ztg.rb
|
278
|
+
- lib/nmea_plus/message_factory.rb
|
279
|
+
- lib/nmea_plus/nmea_message_factory.rb
|
280
|
+
- lib/nmea_plus/version.rb
|
260
281
|
homepage: http://github.com/ifreecarve/nmea_plus
|
261
282
|
licenses:
|
262
283
|
- Apache 2.0
|
@@ -264,7 +285,7 @@ metadata: {}
|
|
264
285
|
post_install_message:
|
265
286
|
rdoc_options: []
|
266
287
|
require_paths:
|
267
|
-
-
|
288
|
+
- lib
|
268
289
|
required_ruby_version: !ruby/object:Gem::Requirement
|
269
290
|
requirements:
|
270
291
|
- - ~>
|