spektrum-log 0.0.5 → 0.0.6
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.
- data/.travis.yml +0 -1
- data/LICENSE +1 -1
- data/data/GPS.TLM +0 -0
- data/lib/{spektrum-log → spektrum/log}/flight.rb +44 -5
- data/lib/{spektrum-log → spektrum/log}/headers.rb +0 -0
- data/lib/{spektrum-log → spektrum/log}/reader.rb +1 -3
- data/lib/{spektrum-log → spektrum/log}/records.rb +30 -11
- data/lib/{spektrum-log → spektrum/log}/version.rb +1 -1
- data/lib/spektrum/log.rb +5 -0
- data/spec/flight_spec.rb +57 -15
- data/spec/gps_record1_spec.rb +17 -0
- data/spec/reader_spec.rb +12 -0
- data/spec/spec_helper.rb +8 -1
- data/spektrum-log.gemspec +27 -17
- metadata +128 -21
- checksums.yaml +0 -7
- data/lib/spektrum-log.rb +0 -5
data/.travis.yml
CHANGED
data/LICENSE
CHANGED
data/data/GPS.TLM
ADDED
Binary file
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'ruby_kml'
|
2
|
+
|
1
3
|
module Spektrum
|
2
4
|
module Log
|
3
5
|
|
@@ -9,8 +11,8 @@ module Spektrum
|
|
9
11
|
|
10
12
|
# Creates a new flight.
|
11
13
|
#
|
12
|
-
# @param headers [Array]
|
13
|
-
# @param records [Array]
|
14
|
+
# @param headers [Array<Header>] headers read from the file
|
15
|
+
# @param records [Array<Record>] records read from the file
|
14
16
|
def initialize(headers, records)
|
15
17
|
@headers = headers
|
16
18
|
@records = records
|
@@ -18,9 +20,9 @@ module Spektrum
|
|
18
20
|
|
19
21
|
# Gets the duration of the flight, in seconds.
|
20
22
|
#
|
21
|
-
# @return [
|
23
|
+
# @return [Float] duration of the flight, in seconds
|
22
24
|
def duration
|
23
|
-
@duration ||= ((@records.empty? ? 0 : @records.last.timestamp - @records.first.timestamp) / 256)
|
25
|
+
@duration ||= ((@records.empty? ? 0.0 : @records.last.timestamp - @records.first.timestamp) / 256.0)
|
24
26
|
end
|
25
27
|
|
26
28
|
# Determines if this flight has any data. Models without telemetry
|
@@ -129,12 +131,49 @@ module Spektrum
|
|
129
131
|
select_records SpeedRecord
|
130
132
|
end
|
131
133
|
|
134
|
+
def to_kml?
|
135
|
+
gps1_records?
|
136
|
+
end
|
137
|
+
|
138
|
+
def to_kml
|
139
|
+
unless to_kml?
|
140
|
+
raise RuntimeError, 'No coordinates available for KML path generation'
|
141
|
+
end
|
142
|
+
|
143
|
+
kml = KMLFile.new
|
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
|
+
]
|
167
|
+
)
|
168
|
+
kml.render
|
169
|
+
end
|
170
|
+
|
132
171
|
private
|
133
172
|
|
134
173
|
# Determines if there are any records in this flight of the given type.
|
135
174
|
#
|
136
175
|
# @param type [Class] type of record to check for
|
137
|
-
# @return []
|
176
|
+
# @return [Boolean] true if there are records, false otherwise
|
138
177
|
def any_records?(type)
|
139
178
|
@records.any? { |rec| rec.is_a? type }
|
140
179
|
end
|
File without changes
|
@@ -28,7 +28,6 @@ module Spektrum
|
|
28
28
|
|
29
29
|
first = first4.unpack('V')[0]
|
30
30
|
if 0xFFFFFFFF == first
|
31
|
-
|
32
31
|
if headers_complete || !records.empty?
|
33
32
|
# we have records, this is a new entry
|
34
33
|
@flights << Flight.new(headers, records)
|
@@ -41,7 +40,6 @@ module Spektrum
|
|
41
40
|
headers << Headers.create(rest)
|
42
41
|
|
43
42
|
headers_complete = rest.unpack('S')[0] == 0x1717
|
44
|
-
|
45
43
|
else
|
46
44
|
type = file.read(1).unpack('C')[0]
|
47
45
|
rest = file.read(15)
|
@@ -55,4 +53,4 @@ module Spektrum
|
|
55
53
|
end
|
56
54
|
|
57
55
|
end
|
58
|
-
end
|
56
|
+
end
|
@@ -158,26 +158,45 @@ module Spektrum
|
|
158
158
|
@altitude ||= two_byte_field(1..2, :little)
|
159
159
|
end
|
160
160
|
|
161
|
+
def latitude_elements
|
162
|
+
a = hex_byte_field(6) # degrees
|
163
|
+
b = hex_byte_field(5) # degree-minutes
|
164
|
+
c = hex_byte_field(4) # degree-minutes / 10
|
165
|
+
d = hex_byte_field(3) # degree-minutes / 1000
|
166
|
+
[a, b, c, d]
|
167
|
+
end
|
168
|
+
|
161
169
|
def latitude
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
170
|
+
@latitude ||= mindec_to_degdec latitude_elements
|
171
|
+
end
|
172
|
+
|
173
|
+
def longitude_elements
|
174
|
+
a = hex_byte_field(10) # degrees
|
175
|
+
b = hex_byte_field(9) # degree-minutes
|
176
|
+
c = hex_byte_field(8) # degree-minutes / 10
|
177
|
+
d = hex_byte_field(7) # degree-minutes / 1000
|
178
|
+
[a, b, c, d]
|
167
179
|
end
|
168
180
|
|
169
181
|
def longitude
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
[
|
182
|
+
@longitude ||= mindec_to_degdec longitude_elements
|
183
|
+
end
|
184
|
+
|
185
|
+
def coordinate
|
186
|
+
[longitude, latitude, altitude]
|
175
187
|
end
|
176
188
|
|
177
189
|
def heading
|
178
190
|
@heading ||= (two_byte_field(11..12, :little) / 10.0)
|
179
191
|
end
|
180
192
|
|
193
|
+
private
|
194
|
+
|
195
|
+
def mindec_to_degdec elts
|
196
|
+
raise ArgumentError unless elts.length == 4
|
197
|
+
elts[0] + ("#{elts[1]}.#{elts[2]}#{elts[3]}".to_f / 60.0)
|
198
|
+
end
|
199
|
+
|
181
200
|
end
|
182
201
|
|
183
202
|
class GPSRecord2 < Record
|
@@ -257,4 +276,4 @@ module Spektrum
|
|
257
276
|
end
|
258
277
|
|
259
278
|
end
|
260
|
-
end
|
279
|
+
end
|
data/lib/spektrum/log.rb
ADDED
data/spec/flight_spec.rb
CHANGED
@@ -14,7 +14,7 @@ describe Spektrum::Log::Flight do
|
|
14
14
|
|
15
15
|
it { should have(191).records }
|
16
16
|
|
17
|
-
its(:duration) { should
|
17
|
+
its(:duration) { should be_within(0.1).of(4.5) }
|
18
18
|
|
19
19
|
its(:bind_type) { should eql('DSMX') }
|
20
20
|
|
@@ -24,6 +24,10 @@ 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 }
|
28
|
+
|
29
|
+
its(:gps2_records?) { should be_true }
|
30
|
+
|
27
31
|
end
|
28
32
|
|
29
33
|
context 'flight 2' do
|
@@ -34,7 +38,11 @@ describe Spektrum::Log::Flight do
|
|
34
38
|
|
35
39
|
it { should have(634).records }
|
36
40
|
|
37
|
-
its(:duration) { should
|
41
|
+
its(:duration) { should be_within(0.1).of(14.8) }
|
42
|
+
|
43
|
+
its(:gps1_records?) { should be_true }
|
44
|
+
|
45
|
+
its(:gps2_records?) { should be_true }
|
38
46
|
|
39
47
|
end
|
40
48
|
|
@@ -46,7 +54,11 @@ describe Spektrum::Log::Flight do
|
|
46
54
|
|
47
55
|
it { should have(641).records }
|
48
56
|
|
49
|
-
its(:duration) { should
|
57
|
+
its(:duration) { should be_within(0.1).of(15.0) }
|
58
|
+
|
59
|
+
its(:gps1_records?) { should be_true }
|
60
|
+
|
61
|
+
its(:gps2_records?) { should be_true }
|
50
62
|
|
51
63
|
end
|
52
64
|
|
@@ -66,7 +78,7 @@ describe Spektrum::Log::Flight do
|
|
66
78
|
|
67
79
|
it { should_not be_empty }
|
68
80
|
|
69
|
-
its(:duration) { should
|
81
|
+
its(:duration) { should be_within(0.1).of(2.2) }
|
70
82
|
|
71
83
|
its(:bind_type) { should eql('DSMX') }
|
72
84
|
|
@@ -92,7 +104,7 @@ describe Spektrum::Log::Flight do
|
|
92
104
|
|
93
105
|
it { should have(0).records }
|
94
106
|
|
95
|
-
its(:duration) { should eql(0) }
|
107
|
+
its(:duration) { should eql(0.0) }
|
96
108
|
|
97
109
|
it { should be_empty }
|
98
110
|
|
@@ -106,7 +118,7 @@ describe Spektrum::Log::Flight do
|
|
106
118
|
|
107
119
|
it { should have(0).records }
|
108
120
|
|
109
|
-
its(:duration) { should eql(0) }
|
121
|
+
its(:duration) { should eql(0.0) }
|
110
122
|
|
111
123
|
it { should be_empty }
|
112
124
|
|
@@ -120,7 +132,7 @@ describe Spektrum::Log::Flight do
|
|
120
132
|
|
121
133
|
it { should have(0).records }
|
122
134
|
|
123
|
-
its(:duration) { should eql(0) }
|
135
|
+
its(:duration) { should eql(0.0) }
|
124
136
|
|
125
137
|
it { should be_empty }
|
126
138
|
|
@@ -134,7 +146,7 @@ describe Spektrum::Log::Flight do
|
|
134
146
|
|
135
147
|
it { should have(0).records }
|
136
148
|
|
137
|
-
its(:duration) { should eql(0) }
|
149
|
+
its(:duration) { should eql(0.0) }
|
138
150
|
|
139
151
|
it { should be_empty }
|
140
152
|
|
@@ -148,7 +160,7 @@ describe Spektrum::Log::Flight do
|
|
148
160
|
|
149
161
|
it { should have(0).records }
|
150
162
|
|
151
|
-
its(:duration) { should eql(0) }
|
163
|
+
its(:duration) { should eql(0.0) }
|
152
164
|
|
153
165
|
it { should be_empty }
|
154
166
|
|
@@ -162,7 +174,7 @@ describe Spektrum::Log::Flight do
|
|
162
174
|
|
163
175
|
it { should have(0).records }
|
164
176
|
|
165
|
-
its(:duration) { should eql(0) }
|
177
|
+
its(:duration) { should eql(0.0) }
|
166
178
|
|
167
179
|
it { should be_empty }
|
168
180
|
|
@@ -176,7 +188,7 @@ describe Spektrum::Log::Flight do
|
|
176
188
|
|
177
189
|
it { should have(0).records }
|
178
190
|
|
179
|
-
its(:duration) { should eql(0) }
|
191
|
+
its(:duration) { should eql(0.0) }
|
180
192
|
|
181
193
|
it { should be_empty }
|
182
194
|
|
@@ -190,7 +202,7 @@ describe Spektrum::Log::Flight do
|
|
190
202
|
|
191
203
|
it { should have(0).records }
|
192
204
|
|
193
|
-
its(:duration) { should eql(0) }
|
205
|
+
its(:duration) { should eql(0.0) }
|
194
206
|
|
195
207
|
it { should be_empty }
|
196
208
|
|
@@ -204,7 +216,7 @@ describe Spektrum::Log::Flight do
|
|
204
216
|
|
205
217
|
it { should have(23155).records }
|
206
218
|
|
207
|
-
its(:duration) { should
|
219
|
+
its(:duration) { should be_within(0.1).of(579.5) }
|
208
220
|
|
209
221
|
it { should_not be_empty }
|
210
222
|
|
@@ -226,7 +238,7 @@ describe Spektrum::Log::Flight do
|
|
226
238
|
|
227
239
|
it { should_not be_empty }
|
228
240
|
|
229
|
-
its(:duration) { should
|
241
|
+
its(:duration) { should be_within(0.1).of(63.7) }
|
230
242
|
|
231
243
|
its(:bind_type) { should eql('DSMX') }
|
232
244
|
|
@@ -254,4 +266,34 @@ describe Spektrum::Log::Flight do
|
|
254
266
|
|
255
267
|
end
|
256
268
|
|
257
|
-
|
269
|
+
context 'data file GPS.TLM' do
|
270
|
+
|
271
|
+
let(:reader) { Spektrum::Log::Reader.new(data_file('GPS.TLM')) }
|
272
|
+
|
273
|
+
context 'flight 1' do
|
274
|
+
|
275
|
+
subject { reader.flights[0] }
|
276
|
+
|
277
|
+
its(:gps1_records?) { should be_true }
|
278
|
+
|
279
|
+
its(:gps2_records?) { should be_true }
|
280
|
+
|
281
|
+
its(:to_kml?) { should be_true }
|
282
|
+
|
283
|
+
end
|
284
|
+
|
285
|
+
context 'flight 2' do
|
286
|
+
|
287
|
+
subject { reader.flights[1] }
|
288
|
+
|
289
|
+
its(:gps1_records?) { should be_true }
|
290
|
+
|
291
|
+
its(:gps2_records?) { should be_true }
|
292
|
+
|
293
|
+
its(:to_kml?) { should be_true }
|
294
|
+
|
295
|
+
end
|
296
|
+
|
297
|
+
end
|
298
|
+
|
299
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Spektrum::Log::GPSRecord1 do
|
4
|
+
|
5
|
+
let(:timestamp) { 0x00010E8D }
|
6
|
+
|
7
|
+
let(:raw_data) { ["00870084214054886918094633093B"].pack('H*') }
|
8
|
+
|
9
|
+
subject { Spektrum::Log::GPSRecord1.new(timestamp, raw_data) }
|
10
|
+
|
11
|
+
its(:timestamp) { should eql(0x00010E8D) }
|
12
|
+
|
13
|
+
its(:latitude) { should be_within(0.000001).of(54.670307) }
|
14
|
+
|
15
|
+
its(:longitude) { should be_within(0.000001).of(9.311646) }
|
16
|
+
|
17
|
+
end
|
data/spec/reader_spec.rb
CHANGED
@@ -34,4 +34,16 @@ describe Spektrum::Log::Reader do
|
|
34
34
|
|
35
35
|
end
|
36
36
|
|
37
|
+
context 'data file GPS.TLM' do
|
38
|
+
|
39
|
+
subject { Spektrum::Log::Reader.new(data_file('GPS.TLM')) }
|
40
|
+
|
41
|
+
it { should have(2).flights }
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'should raise on bad input' do
|
46
|
+
expect { Spektrum::Log::Reader.new(__FILE__) }.to raise_error
|
47
|
+
end
|
48
|
+
|
37
49
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,5 +1,12 @@
|
|
1
|
+
require 'simplecov'
|
2
|
+
require 'simplecov-gem-adapter'
|
3
|
+
require 'simplecov-rcov'
|
4
|
+
SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter
|
5
|
+
SimpleCov.start 'gem' if ENV['COVERAGE']
|
6
|
+
|
7
|
+
require 'awesome_print'
|
1
8
|
require 'pathname'
|
2
|
-
require 'spektrum
|
9
|
+
require 'spektrum/log'
|
3
10
|
|
4
11
|
RSpec.configure do |config|
|
5
12
|
config.treat_symbols_as_metadata_keys_with_true_values = true
|
data/spektrum-log.gemspec
CHANGED
@@ -1,21 +1,31 @@
|
|
1
|
-
#
|
2
|
-
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'spektrum/log/version'
|
3
5
|
|
4
|
-
Gem::Specification.new do |
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "spektrum-log"
|
8
|
+
spec.version = Spektrum::Log::VERSION
|
9
|
+
spec.authors = ["Nick Veys"]
|
10
|
+
spec.email = ["nick@codelever.com"]
|
11
|
+
spec.description = %q{Read and interpret Spektrum TLM log files.}
|
12
|
+
spec.summary = %q{Spektrum TLM log file reader}
|
13
|
+
spec.homepage = ""
|
14
|
+
spec.license = "MIT"
|
10
15
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
gem.require_paths = ["lib"]
|
16
|
-
gem.version = Spektrum::Log::VERSION
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
17
20
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
+
spec.add_development_dependency 'awesome_print'
|
22
|
+
spec.add_development_dependency 'bundler', '~> 1.3'
|
23
|
+
spec.add_development_dependency 'ci_reporter', '= 1.8.4'
|
24
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
25
|
+
spec.add_development_dependency 'rspec', '~> 2.13'
|
26
|
+
spec.add_development_dependency 'simplecov'
|
27
|
+
spec.add_development_dependency 'simplecov-gem-adapter'
|
28
|
+
spec.add_development_dependency 'simplecov-rcov'
|
29
|
+
|
30
|
+
spec.add_dependency 'ruby_kml', '~> 0.1'
|
21
31
|
end
|
metadata
CHANGED
@@ -1,46 +1,52 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spektrum-log
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
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-
|
12
|
+
date: 2013-06-18 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
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
|
19
|
-
version: '
|
21
|
+
version: '0'
|
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
|
26
|
-
version: '
|
29
|
+
version: '0'
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
31
|
+
name: bundler
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
35
|
- - ~>
|
32
36
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
37
|
+
version: '1.3'
|
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
|
40
|
-
version: '
|
45
|
+
version: '1.3'
|
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,10 +54,107 @@ 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
|
54
61
|
version: 1.8.4
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rake
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '10.0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '10.0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: rspec
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ~>
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '2.13'
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '2.13'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: simplecov
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: simplecov-gem-adapter
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: simplecov-rcov
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
134
|
+
type: :development
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: ruby_kml
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - ~>
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: '0.1'
|
150
|
+
type: :runtime
|
151
|
+
prerelease: false
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ~>
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0.1'
|
55
158
|
description: Read and interpret Spektrum TLM log files.
|
56
159
|
email:
|
57
160
|
- nick@codelever.com
|
@@ -70,45 +173,49 @@ files:
|
|
70
173
|
- data/2.TLM
|
71
174
|
- data/3.TLM
|
72
175
|
- data/4.TLM
|
73
|
-
-
|
74
|
-
- lib/spektrum
|
75
|
-
- lib/spektrum
|
76
|
-
- lib/spektrum
|
77
|
-
- lib/spektrum
|
78
|
-
- lib/spektrum
|
176
|
+
- data/GPS.TLM
|
177
|
+
- lib/spektrum/log.rb
|
178
|
+
- lib/spektrum/log/flight.rb
|
179
|
+
- lib/spektrum/log/headers.rb
|
180
|
+
- lib/spektrum/log/reader.rb
|
181
|
+
- lib/spektrum/log/records.rb
|
182
|
+
- lib/spektrum/log/version.rb
|
79
183
|
- spec/basic_data_record_spec.rb
|
80
184
|
- spec/flight_log_record_spec.rb
|
81
185
|
- spec/flight_spec.rb
|
186
|
+
- spec/gps_record1_spec.rb
|
82
187
|
- spec/reader_spec.rb
|
83
188
|
- spec/spec_helper.rb
|
84
189
|
- spektrum-log.gemspec
|
85
190
|
homepage: ''
|
86
|
-
licenses:
|
87
|
-
|
191
|
+
licenses:
|
192
|
+
- MIT
|
88
193
|
post_install_message:
|
89
194
|
rdoc_options: []
|
90
195
|
require_paths:
|
91
196
|
- lib
|
92
197
|
required_ruby_version: !ruby/object:Gem::Requirement
|
198
|
+
none: false
|
93
199
|
requirements:
|
94
200
|
- - ! '>='
|
95
201
|
- !ruby/object:Gem::Version
|
96
202
|
version: '0'
|
97
203
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
204
|
+
none: false
|
98
205
|
requirements:
|
99
206
|
- - ! '>='
|
100
207
|
- !ruby/object:Gem::Version
|
101
208
|
version: '0'
|
102
209
|
requirements: []
|
103
210
|
rubyforge_project:
|
104
|
-
rubygems_version:
|
211
|
+
rubygems_version: 1.8.22
|
105
212
|
signing_key:
|
106
|
-
specification_version:
|
213
|
+
specification_version: 3
|
107
214
|
summary: Spektrum TLM log file reader
|
108
215
|
test_files:
|
109
216
|
- spec/basic_data_record_spec.rb
|
110
217
|
- spec/flight_log_record_spec.rb
|
111
218
|
- spec/flight_spec.rb
|
219
|
+
- spec/gps_record1_spec.rb
|
112
220
|
- spec/reader_spec.rb
|
113
221
|
- spec/spec_helper.rb
|
114
|
-
has_rdoc:
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 1290e1e85c63b06ca04ff2ddcb1e6e6bc1a078a9
|
4
|
-
data.tar.gz: d844267c31ffe4c308dfd187bb969ade4e8f0d34
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: a77e5bf2d17d03b7e4d16c9760a16423b7692f02d66f93c3daacee07be052350ddce87168268b6c40a8570a368673773e82e8e9a6ab37429f3b5dab12af8863d
|
7
|
-
data.tar.gz: 6e4baf468c95764744ec1847034a72831ff541d4ee5c4a1c667a6ff479c373a60effc26ae64b73a036d63aff86e6ae25fe1743a05b3868de0f10df31cb3daa3b
|