spektrum-log 0.0.6 → 0.0.7
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/lib/spektrum/log/flight.rb +1 -1
- data/lib/spektrum/log/records.rb +6 -18
- data/lib/spektrum/log/version.rb +1 -1
- data/spec/flight_spec.rb +10 -6
- data/spec/gps_record2_spec.rb +17 -0
- metadata +4 -2
data/lib/spektrum/log/flight.rb
CHANGED
@@ -22,7 +22,7 @@ module Spektrum
|
|
22
22
|
#
|
23
23
|
# @return [Float] duration of the flight, in seconds
|
24
24
|
def duration
|
25
|
-
@duration ||= ((@records.empty? ? 0.0 : @records.last.timestamp - @records.first.timestamp) /
|
25
|
+
@duration ||= ((@records.empty? ? 0.0 : @records.last.timestamp - @records.first.timestamp) / 1000.0)
|
26
26
|
end
|
27
27
|
|
28
28
|
# Determines if this flight has any data. Models without telemetry
|
data/lib/spektrum/log/records.rb
CHANGED
@@ -159,11 +159,7 @@ module Spektrum
|
|
159
159
|
end
|
160
160
|
|
161
161
|
def latitude_elements
|
162
|
-
|
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]
|
162
|
+
6.downto(3).map { |i| hex_byte_field(i) }
|
167
163
|
end
|
168
164
|
|
169
165
|
def latitude
|
@@ -171,11 +167,7 @@ module Spektrum
|
|
171
167
|
end
|
172
168
|
|
173
169
|
def longitude_elements
|
174
|
-
|
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]
|
170
|
+
10.downto(7).map { |i| hex_byte_field(i) }
|
179
171
|
end
|
180
172
|
|
181
173
|
def longitude
|
@@ -220,16 +212,12 @@ module Spektrum
|
|
220
212
|
end
|
221
213
|
|
222
214
|
def time
|
223
|
-
|
224
|
-
|
225
|
-
cx = hex_byte_field(5) # minutes
|
226
|
-
dx = hex_byte_field(6) # hours
|
227
|
-
|
228
|
-
[dx, cx, bx + (ax / 100.0)] # hh:mm:ss.sss
|
215
|
+
t = 3.upto(6).map { |i| hex_byte_field(i).to_s.rjust(2, '0') }
|
216
|
+
@time ||= "#{t[3]}:#{t[2]}:#{t[1]}.#{t[0]}"
|
229
217
|
end
|
230
218
|
|
231
|
-
def
|
232
|
-
@
|
219
|
+
def satellites
|
220
|
+
@satellites ||= hex_byte_field(7)
|
233
221
|
end
|
234
222
|
|
235
223
|
end
|
data/lib/spektrum/log/version.rb
CHANGED
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 be_within(0.1).of(
|
17
|
+
its(:duration) { should be_within(0.1).of(1.1) }
|
18
18
|
|
19
19
|
its(:bind_type) { should eql('DSMX') }
|
20
20
|
|
@@ -38,7 +38,7 @@ describe Spektrum::Log::Flight do
|
|
38
38
|
|
39
39
|
it { should have(634).records }
|
40
40
|
|
41
|
-
its(:duration) { should be_within(0.1).of(
|
41
|
+
its(:duration) { should be_within(0.1).of(3.8) }
|
42
42
|
|
43
43
|
its(:gps1_records?) { should be_true }
|
44
44
|
|
@@ -54,7 +54,7 @@ describe Spektrum::Log::Flight do
|
|
54
54
|
|
55
55
|
it { should have(641).records }
|
56
56
|
|
57
|
-
its(:duration) { should be_within(0.1).of(
|
57
|
+
its(:duration) { should be_within(0.1).of(3.8) }
|
58
58
|
|
59
59
|
its(:gps1_records?) { should be_true }
|
60
60
|
|
@@ -78,7 +78,7 @@ describe Spektrum::Log::Flight do
|
|
78
78
|
|
79
79
|
it { should_not be_empty }
|
80
80
|
|
81
|
-
its(:duration) { should be_within(0.1).of(
|
81
|
+
its(:duration) { should be_within(0.1).of(0.6) }
|
82
82
|
|
83
83
|
its(:bind_type) { should eql('DSMX') }
|
84
84
|
|
@@ -216,7 +216,7 @@ describe Spektrum::Log::Flight do
|
|
216
216
|
|
217
217
|
it { should have(23155).records }
|
218
218
|
|
219
|
-
its(:duration) { should be_within(
|
219
|
+
its(:duration) { should be_within(1).of(148) }
|
220
220
|
|
221
221
|
it { should_not be_empty }
|
222
222
|
|
@@ -238,7 +238,7 @@ describe Spektrum::Log::Flight do
|
|
238
238
|
|
239
239
|
it { should_not be_empty }
|
240
240
|
|
241
|
-
its(:duration) { should be_within(0.1).of(
|
241
|
+
its(:duration) { should be_within(0.1).of(16.3) }
|
242
242
|
|
243
243
|
its(:bind_type) { should eql('DSMX') }
|
244
244
|
|
@@ -274,6 +274,8 @@ describe Spektrum::Log::Flight do
|
|
274
274
|
|
275
275
|
subject { reader.flights[0] }
|
276
276
|
|
277
|
+
its(:duration) { should be_within(1).of(179) }
|
278
|
+
|
277
279
|
its(:gps1_records?) { should be_true }
|
278
280
|
|
279
281
|
its(:gps2_records?) { should be_true }
|
@@ -286,6 +288,8 @@ describe Spektrum::Log::Flight do
|
|
286
288
|
|
287
289
|
subject { reader.flights[1] }
|
288
290
|
|
291
|
+
its(:duration) { should be_within(1).of(188) }
|
292
|
+
|
289
293
|
its(:gps1_records?) { should be_true }
|
290
294
|
|
291
295
|
its(:gps2_records?) { should be_true }
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Spektrum::Log::GPSRecord2 do
|
4
|
+
|
5
|
+
let(:timestamp) { 0x0002C8D5 }
|
6
|
+
|
7
|
+
let(:raw_data) { ["00500000184412110018099909073B"].pack('H*') }
|
8
|
+
|
9
|
+
subject { Spektrum::Log::GPSRecord2.new(timestamp, raw_data) }
|
10
|
+
|
11
|
+
its(:timestamp) { should eql(0x0002C8D5) }
|
12
|
+
|
13
|
+
its(:satellites) { should eql(11) }
|
14
|
+
|
15
|
+
its(:time) { should eq('12:44:18.00') }
|
16
|
+
|
17
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
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.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-06-
|
12
|
+
date: 2013-06-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: awesome_print
|
@@ -184,6 +184,7 @@ files:
|
|
184
184
|
- spec/flight_log_record_spec.rb
|
185
185
|
- spec/flight_spec.rb
|
186
186
|
- spec/gps_record1_spec.rb
|
187
|
+
- spec/gps_record2_spec.rb
|
187
188
|
- spec/reader_spec.rb
|
188
189
|
- spec/spec_helper.rb
|
189
190
|
- spektrum-log.gemspec
|
@@ -217,5 +218,6 @@ test_files:
|
|
217
218
|
- spec/flight_log_record_spec.rb
|
218
219
|
- spec/flight_spec.rb
|
219
220
|
- spec/gps_record1_spec.rb
|
221
|
+
- spec/gps_record2_spec.rb
|
220
222
|
- spec/reader_spec.rb
|
221
223
|
- spec/spec_helper.rb
|