spektrum-log 0.0.19 → 0.0.20
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.
- checksums.yaml +4 -4
- data/lib/spektrum/log/records.rb +28 -6
- data/lib/spektrum/log/version.rb +1 -1
- data/spec/speed_record_spec.rb +27 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d30cad8f6f6191ef4faa750cba19e147da9cf40
|
4
|
+
data.tar.gz: 8bdcb97ee0a0d330aa66decf6a03d2f234693d65
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 23fd531279aa135335a98809ab1cfb7c699587ea834bf7d8e8836c1e8f0ad745a948bb4ec4b50a0b50c72fc7cbbe20a076f7963799df4772580b38ace59831e9
|
7
|
+
data.tar.gz: 9e3d46610b18f52760f362150dc3d9d2a600659c03f984435b0cadc82bef010aad53dcca7355b800e8abb914f43644f85a545037b55a4e5f051e8ceae2051e55
|
data/lib/spektrum/log/records.rb
CHANGED
@@ -83,10 +83,17 @@ module Spektrum
|
|
83
83
|
raw_rpm != 0xFFFF
|
84
84
|
end
|
85
85
|
|
86
|
+
# Gets the flight pack voltage data.
|
87
|
+
#
|
88
|
+
# @return [Float] flight voltage data, in volts
|
89
|
+
# @note This conversion has been verified via Spektrum STi
|
86
90
|
def voltage
|
87
91
|
raw_voltage / 100.0
|
88
92
|
end
|
89
93
|
|
94
|
+
# Determines if there is flight voltage data contained within.
|
95
|
+
#
|
96
|
+
# @return [Boolean] true if there is flight voltage data, false otherwise
|
90
97
|
def voltage?
|
91
98
|
raw_voltage != 0xFFFF
|
92
99
|
end
|
@@ -128,6 +135,7 @@ module Spektrum
|
|
128
135
|
# Gets the receiver pack voltage data.
|
129
136
|
#
|
130
137
|
# @return [Float] rx voltage data, in volts
|
138
|
+
# @note This conversion has been verified via Spektrum STi
|
131
139
|
def rx_voltage
|
132
140
|
raw_rx_voltage / 100.0
|
133
141
|
end
|
@@ -315,24 +323,38 @@ module Spektrum
|
|
315
323
|
|
316
324
|
end
|
317
325
|
|
318
|
-
class
|
326
|
+
class SpeedRecord < Record
|
319
327
|
|
320
328
|
def initialize timestamp, raw_data
|
321
329
|
super timestamp, raw_data
|
322
330
|
end
|
323
331
|
|
332
|
+
# Gets the speed, in desired unit.
|
333
|
+
#
|
334
|
+
# @param unit one of :knots, :mph, :kph to define desired unit
|
335
|
+
# @return [Float] speed in the desired unit
|
336
|
+
def speed(unit = :knots)
|
337
|
+
@speed ||= two_byte_field(2..3)
|
338
|
+
case unit
|
339
|
+
when :knots
|
340
|
+
@speed * 0.539957
|
341
|
+
when :mph
|
342
|
+
@speed * 0.621371
|
343
|
+
when :kph
|
344
|
+
@speed
|
345
|
+
else
|
346
|
+
@speed
|
347
|
+
end
|
348
|
+
end
|
349
|
+
|
324
350
|
end
|
325
351
|
|
326
|
-
class
|
352
|
+
class MysteryRecord < Record
|
327
353
|
|
328
354
|
def initialize timestamp, raw_data
|
329
355
|
super timestamp, raw_data
|
330
356
|
end
|
331
357
|
|
332
|
-
def speed
|
333
|
-
@speed ||= two_byte_field(2..3)
|
334
|
-
end
|
335
|
-
|
336
358
|
end
|
337
359
|
|
338
360
|
class Records
|
data/lib/spektrum/log/version.rb
CHANGED
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Spektrum::Log::SpeedRecord do
|
4
|
+
|
5
|
+
let(:timestamp) { 0xC67C0FE2 }
|
6
|
+
|
7
|
+
let(:raw_data) { ["1100010501F900000000000000000000"].pack('H*') }
|
8
|
+
|
9
|
+
subject { Spektrum::Log::SpeedRecord.new(timestamp, raw_data) }
|
10
|
+
|
11
|
+
its(:timestamp) { should eql(0xC67C0FE2) }
|
12
|
+
|
13
|
+
it 'should have a speed in mph' do
|
14
|
+
subject.speed(:mph).should be_within(0.1).of(162.2)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should have a speed in kph' do
|
18
|
+
subject.speed(:kph).should be_within(0.1).of(261)
|
19
|
+
end
|
20
|
+
|
21
|
+
its(:speed) { should be_within(0.1).of(140.9) }
|
22
|
+
|
23
|
+
it 'should have a speed in knots' do
|
24
|
+
subject.speed(:knots).should be_within(0.1).of(140.9)
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
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.20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Veys
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-08-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: awesome_print
|
@@ -188,6 +188,7 @@ files:
|
|
188
188
|
- spec/gps_record1_spec.rb
|
189
189
|
- spec/gps_record2_spec.rb
|
190
190
|
- spec/spec_helper.rb
|
191
|
+
- spec/speed_record_spec.rb
|
191
192
|
- spektrum-log.gemspec
|
192
193
|
homepage: ''
|
193
194
|
licenses:
|
@@ -246,3 +247,4 @@ test_files:
|
|
246
247
|
- spec/gps_record1_spec.rb
|
247
248
|
- spec/gps_record2_spec.rb
|
248
249
|
- spec/spec_helper.rb
|
250
|
+
- spec/speed_record_spec.rb
|