spektrum-log 0.0.12 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -142,28 +142,28 @@ module Spektrum
142
142
 
143
143
  kml = KMLFile.new
144
144
  kml.objects << KML::Document.new(
145
- :name => 'NAME HERE',
146
- :description => 'DESCRIPTION HERE',
147
- :styles => [
148
- KML::Style.new(
149
- :id => 'yellowLineGreenPoly',
150
- :line_style => KML::LineStyle.new(:color => '7f00ffff', :width => 4),
151
- :poly_style => KML::PolyStyle.new(:color => '7f00ff00')
152
- )
153
- ],
154
- :features => [
155
- KML::Placemark.new(
156
- :name => 'Absolute Extruded',
157
- :description => 'Transparent green wall with yellow outlines',
158
- :style_url => '#yellowLineGreenPoly',
159
- :geometry => KML::LineString.new(
160
- :extrude => true,
161
- :tessellate => true,
162
- :altitude_mode => 'absolute',
163
- :coordinates => gps1_records.map(&:coordinate).map { |c| c.join(',') }.join(' ')
164
- )
165
- )
166
- ]
145
+ :name => 'NAME HERE',
146
+ :description => 'DESCRIPTION HERE',
147
+ :styles => [
148
+ KML::Style.new(
149
+ :id => 'yellowLineGreenPoly',
150
+ :line_style => KML::LineStyle.new(:color => '7f00ffff', :width => 4),
151
+ :poly_style => KML::PolyStyle.new(:color => '7f00ff00')
152
+ )
153
+ ],
154
+ :features => [
155
+ KML::Placemark.new(
156
+ :name => 'Absolute Extruded',
157
+ :description => 'Transparent green wall with yellow outlines',
158
+ :style_url => '#yellowLineGreenPoly',
159
+ :geometry => KML::LineString.new(
160
+ :extrude => true,
161
+ :tessellate => true,
162
+ :altitude_mode => 'absolute',
163
+ :coordinates => gps1_records.map(&:coordinate).map { |c| c.join(',') }.join(' ')
164
+ )
165
+ )
166
+ ]
167
167
  )
168
168
  kml.render
169
169
  end
@@ -173,13 +173,13 @@ module Spektrum
173
173
  # Determines if there are any records in this flight of the given type.
174
174
  #
175
175
  # @param type [Class] type of record to check for
176
- # @return [Boolean] true if there are records, false otherwise
176
+ # @return [Boolean] true if there are valid records, false otherwise
177
177
  def any_records?(type)
178
- @records.any? { |rec| rec.is_a? type }
178
+ @records.any? { |rec| rec.is_a?(type) && rec.valid? }
179
179
  end
180
180
 
181
181
  def select_records(type)
182
- @records.select { |rec| rec.is_a? type }
182
+ @records.select { |rec| rec.is_a?(type) && rec.valid? }
183
183
  end
184
184
 
185
185
  end
@@ -14,6 +14,14 @@ module Spektrum
14
14
  @raw_data = raw_data
15
15
  end
16
16
 
17
+ # Determines if this record should be considered valid. Definitions of valid
18
+ # will vary by the type of record.
19
+ #
20
+ # @return [Boolean] true if the record is valid, false otherwise
21
+ def valid?
22
+ true
23
+ end
24
+
17
25
  protected
18
26
 
19
27
  def byte_field range
@@ -201,6 +209,10 @@ module Spektrum
201
209
  @heading ||= (hex_byte_field(12) * 10) + (hex_byte_field(11) / 10.0)
202
210
  end
203
211
 
212
+ def valid?
213
+ !(latitude == 0.0 && longitude == 0.0 && altitude == 0.0)
214
+ end
215
+
204
216
  private
205
217
 
206
218
  def convert_latlon elts
@@ -1,5 +1,5 @@
1
1
  module Spektrum
2
2
  module Log
3
- VERSION = "0.0.12"
3
+ VERSION = "0.0.13"
4
4
  end
5
5
  end
data/spec/flight_spec.rb CHANGED
@@ -24,7 +24,7 @@ describe Spektrum::Log::Flight do
24
24
 
25
25
  its(:model_type) { should eql('Fixed Wing') }
26
26
 
27
- its(:gps1_records?) { should be_true }
27
+ its(:gps1_records?) { should be_false }
28
28
 
29
29
  its(:gps2_records?) { should be_true }
30
30
 
@@ -320,8 +320,12 @@ describe Spektrum::Log::Flight do
320
320
 
321
321
  its(:gps1_records?) { should be_true }
322
322
 
323
+ it { should have(6419).gps1_records }
324
+
323
325
  its(:gps2_records?) { should be_true }
324
326
 
327
+ it { should have(7096).gps2_records }
328
+
325
329
  its(:to_kml?) { should be_true }
326
330
 
327
331
  end
@@ -334,8 +338,12 @@ describe Spektrum::Log::Flight do
334
338
 
335
339
  its(:gps1_records?) { should be_true }
336
340
 
341
+ it { should have(7718).gps1_records }
342
+
337
343
  its(:gps2_records?) { should be_true }
338
344
 
345
+ it { should have(7710).gps2_records }
346
+
339
347
  its(:to_kml?) { should be_true }
340
348
 
341
349
  end
@@ -354,8 +362,12 @@ describe Spektrum::Log::Flight do
354
362
 
355
363
  its(:gps1_records?) { should be_true }
356
364
 
365
+ it { should have(10647).gps1_records }
366
+
357
367
  its(:gps2_records?) { should be_true }
358
368
 
369
+ it { should have(10645).gps2_records }
370
+
359
371
  its(:to_kml?) { should be_true }
360
372
 
361
373
  end
@@ -366,10 +378,12 @@ describe Spektrum::Log::Flight do
366
378
 
367
379
  its(:duration) { should be_within(1).of(89) }
368
380
 
369
- its(:gps1_records?) { should be_true }
381
+ it { should have(4792).gps1_records }
370
382
 
371
383
  its(:gps2_records?) { should be_true }
372
384
 
385
+ it { should have(4795).gps2_records }
386
+
373
387
  its(:to_kml?) { should be_true }
374
388
 
375
389
  end
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spektrum-log
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Nick Veys
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-06-19 00:00:00.000000000 Z
12
+ date: 2013-06-27 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: awesome_print
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ! '>='
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :development
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ! '>='
25
28
  - !ruby/object:Gem::Version
@@ -27,6 +30,7 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: bundler
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - ~>
32
36
  - !ruby/object:Gem::Version
@@ -34,6 +38,7 @@ dependencies:
34
38
  type: :development
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - ~>
39
44
  - !ruby/object:Gem::Version
@@ -41,6 +46,7 @@ dependencies:
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: ci_reporter
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
51
  - - '='
46
52
  - !ruby/object:Gem::Version
@@ -48,6 +54,7 @@ dependencies:
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
59
  - - '='
53
60
  - !ruby/object:Gem::Version
@@ -55,6 +62,7 @@ dependencies:
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: rake
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
67
  - - ~>
60
68
  - !ruby/object:Gem::Version
@@ -62,6 +70,7 @@ dependencies:
62
70
  type: :development
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
75
  - - ~>
67
76
  - !ruby/object:Gem::Version
@@ -69,6 +78,7 @@ dependencies:
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: rspec
71
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
72
82
  requirements:
73
83
  - - ~>
74
84
  - !ruby/object:Gem::Version
@@ -76,6 +86,7 @@ dependencies:
76
86
  type: :development
77
87
  prerelease: false
78
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
79
90
  requirements:
80
91
  - - ~>
81
92
  - !ruby/object:Gem::Version
@@ -83,6 +94,7 @@ dependencies:
83
94
  - !ruby/object:Gem::Dependency
84
95
  name: simplecov
85
96
  requirement: !ruby/object:Gem::Requirement
97
+ none: false
86
98
  requirements:
87
99
  - - ! '>='
88
100
  - !ruby/object:Gem::Version
@@ -90,6 +102,7 @@ dependencies:
90
102
  type: :development
91
103
  prerelease: false
92
104
  version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
93
106
  requirements:
94
107
  - - ! '>='
95
108
  - !ruby/object:Gem::Version
@@ -97,6 +110,7 @@ dependencies:
97
110
  - !ruby/object:Gem::Dependency
98
111
  name: simplecov-gem-adapter
99
112
  requirement: !ruby/object:Gem::Requirement
113
+ none: false
100
114
  requirements:
101
115
  - - ! '>='
102
116
  - !ruby/object:Gem::Version
@@ -104,6 +118,7 @@ dependencies:
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
107
122
  requirements:
108
123
  - - ! '>='
109
124
  - !ruby/object:Gem::Version
@@ -111,6 +126,7 @@ dependencies:
111
126
  - !ruby/object:Gem::Dependency
112
127
  name: simplecov-rcov
113
128
  requirement: !ruby/object:Gem::Requirement
129
+ none: false
114
130
  requirements:
115
131
  - - ! '>='
116
132
  - !ruby/object:Gem::Version
@@ -118,6 +134,7 @@ dependencies:
118
134
  type: :development
119
135
  prerelease: false
120
136
  version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
121
138
  requirements:
122
139
  - - ! '>='
123
140
  - !ruby/object:Gem::Version
@@ -125,6 +142,7 @@ dependencies:
125
142
  - !ruby/object:Gem::Dependency
126
143
  name: ruby_kml
127
144
  requirement: !ruby/object:Gem::Requirement
145
+ none: false
128
146
  requirements:
129
147
  - - ~>
130
148
  - !ruby/object:Gem::Version
@@ -132,6 +150,7 @@ dependencies:
132
150
  type: :runtime
133
151
  prerelease: false
134
152
  version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
135
154
  requirements:
136
155
  - - ~>
137
156
  - !ruby/object:Gem::Version
@@ -173,26 +192,33 @@ files:
173
192
  homepage: ''
174
193
  licenses:
175
194
  - MIT
176
- metadata: {}
177
195
  post_install_message:
178
196
  rdoc_options: []
179
197
  require_paths:
180
198
  - lib
181
199
  required_ruby_version: !ruby/object:Gem::Requirement
200
+ none: false
182
201
  requirements:
183
202
  - - ! '>='
184
203
  - !ruby/object:Gem::Version
185
204
  version: '0'
205
+ segments:
206
+ - 0
207
+ hash: 1818794528585278686
186
208
  required_rubygems_version: !ruby/object:Gem::Requirement
209
+ none: false
187
210
  requirements:
188
211
  - - ! '>='
189
212
  - !ruby/object:Gem::Version
190
213
  version: '0'
214
+ segments:
215
+ - 0
216
+ hash: 1818794528585278686
191
217
  requirements: []
192
218
  rubyforge_project:
193
- rubygems_version: 2.0.3
219
+ rubygems_version: 1.8.25
194
220
  signing_key:
195
- specification_version: 4
221
+ specification_version: 3
196
222
  summary: Spektrum TLM log file reader
197
223
  test_files:
198
224
  - spec/basic_data_record_spec.rb
@@ -202,4 +228,3 @@ test_files:
202
228
  - spec/gps_record2_spec.rb
203
229
  - spec/reader_spec.rb
204
230
  - spec/spec_helper.rb
205
- has_rdoc:
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 29e09913bbcf8a10fdf8ca401cdd3d8560eb76e5
4
- data.tar.gz: 996e2b67693ebbf1a22dc68bafb074647c592cc9
5
- SHA512:
6
- metadata.gz: 01a4d6d4f016ce368b756cee96afcfe45df6dce84fdd49dd9a0a0ada5ecbc1452f3af1fb74db5bab44d0f419eee8e0c676d1376a6cddb61290586a46abc3f099
7
- data.tar.gz: f2d43b65a285a547c89cbf4c2f60cfe4047f499b65144afc5f1fe25c96e7f8d40f223f83d747bf1a66ffedaa09fea2789993c8ee43517451024e172207e986ff