spektrum-log 0.0.3 → 0.0.4
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/flight.rb +20 -20
- data/lib/spektrum-log/records.rb +15 -29
- data/lib/spektrum-log/version.rb +1 -1
- data/spec/flight_spec.rb +16 -6
- data/spektrum-log.gemspec +1 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 16e8299a9a5e5c9feef7434e6b06c31215be4d5d
|
4
|
+
data.tar.gz: ad822e2785f70364dca30e805f9f8b03d95be924
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d63ec8893c1647b5e231cfa208b7b4698d2d52bd23d9cf4ae37b69b3019814be57b7631f4ca2c5e371c1805d6ee94a3fb4f81cde5a21454d55b3bdf46912fb0a
|
7
|
+
data.tar.gz: 35794b8e3004dc3751a5657849214d997004e5f9d134011ff08f609348090412953627923a449ae31f6a2bf1062b6ed2f7042d4856b7753f6c1bc983fc28f8b6
|
data/lib/spektrum-log/flight.rb
CHANGED
@@ -11,7 +11,7 @@ module Spektrum
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def duration
|
14
|
-
@records.empty? ? 0 : @records.last.timestamp - @records.first.timestamp
|
14
|
+
@duration ||= ((@records.empty? ? 0 : @records.last.timestamp - @records.first.timestamp) / 256)
|
15
15
|
end
|
16
16
|
|
17
17
|
def empty?
|
@@ -19,36 +19,36 @@ module Spektrum
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def bind_type
|
22
|
-
case @headers.first.raw_data[2].unpack('C')[0]
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
22
|
+
@bind_type ||= case @headers.first.raw_data[2].unpack('C')[0]
|
23
|
+
when 0x01..0x02
|
24
|
+
'DSM2'
|
25
|
+
when 0x03..0x04
|
26
|
+
'DSMX'
|
27
|
+
else
|
28
|
+
'Unknown'
|
29
|
+
end
|
30
30
|
end
|
31
31
|
|
32
32
|
def model_name
|
33
|
-
@headers.first.raw_data[8..18].unpack('Z*')[0]
|
33
|
+
@model_name ||= @headers.first.raw_data[8..18].unpack('Z*')[0].strip
|
34
34
|
end
|
35
35
|
|
36
36
|
def model_number
|
37
|
-
@headers.first.raw_data[0].unpack('C')[0] + 1
|
37
|
+
@model_number ||= (@headers.first.raw_data[0].unpack('C')[0] + 1)
|
38
38
|
end
|
39
39
|
|
40
40
|
def model_type
|
41
|
-
case @headers.first.raw_data[1].unpack('C')[0]
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
41
|
+
@model_type ||= case @headers.first.raw_data[1].unpack('C')[0]
|
42
|
+
when 0x00
|
43
|
+
'Fixed Wing'
|
44
|
+
when 0x01
|
45
|
+
'Helicopter'
|
46
|
+
else
|
47
|
+
'Unknown'
|
48
|
+
end
|
49
49
|
end
|
50
50
|
|
51
51
|
end
|
52
52
|
|
53
53
|
end
|
54
|
-
end
|
54
|
+
end
|
data/lib/spektrum-log/records.rb
CHANGED
@@ -40,7 +40,7 @@ module Spektrum
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def altitude
|
43
|
-
two_byte_field(1..2)
|
43
|
+
@altitude ||= two_byte_field(1..2)
|
44
44
|
end
|
45
45
|
|
46
46
|
end
|
@@ -68,8 +68,7 @@ module Spektrum
|
|
68
68
|
end
|
69
69
|
|
70
70
|
def temperature
|
71
|
-
|
72
|
-
temp
|
71
|
+
@temperature ||= two_byte_field(5..6)
|
73
72
|
end
|
74
73
|
|
75
74
|
def temperature?
|
@@ -79,13 +78,11 @@ module Spektrum
|
|
79
78
|
private
|
80
79
|
|
81
80
|
def raw_rpm
|
82
|
-
|
83
|
-
rpm
|
81
|
+
@raw_rpm ||= two_byte_field(1..2)
|
84
82
|
end
|
85
83
|
|
86
84
|
def raw_voltage
|
87
|
-
|
88
|
-
volt
|
85
|
+
@raw_voltage ||= two_byte_field(3..4)
|
89
86
|
end
|
90
87
|
|
91
88
|
end
|
@@ -107,8 +104,7 @@ module Spektrum
|
|
107
104
|
private
|
108
105
|
|
109
106
|
def raw_rx_voltage
|
110
|
-
|
111
|
-
volt
|
107
|
+
@raw_rx_voltage ||= two_byte_field(13..14)
|
112
108
|
end
|
113
109
|
|
114
110
|
end
|
@@ -120,33 +116,27 @@ module Spektrum
|
|
120
116
|
end
|
121
117
|
|
122
118
|
def x
|
123
|
-
x
|
124
|
-
x
|
119
|
+
@x ||= two_byte_field(1..2)
|
125
120
|
end
|
126
121
|
|
127
122
|
def y
|
128
|
-
y
|
129
|
-
y
|
123
|
+
@y ||= two_byte_field(3..4)
|
130
124
|
end
|
131
125
|
|
132
126
|
def z
|
133
|
-
z
|
134
|
-
z
|
127
|
+
@z ||= two_byte_field(5..6)
|
135
128
|
end
|
136
129
|
|
137
130
|
def x_max
|
138
|
-
|
139
|
-
x
|
131
|
+
@x_max ||= two_byte_field(7..8)
|
140
132
|
end
|
141
133
|
|
142
134
|
def y_max
|
143
|
-
|
144
|
-
y
|
135
|
+
@y_max ||= two_byte_field(9..10)
|
145
136
|
end
|
146
137
|
|
147
138
|
def z_max
|
148
|
-
|
149
|
-
z
|
139
|
+
@z_max ||= two_byte_field(11..12)
|
150
140
|
end
|
151
141
|
|
152
142
|
end
|
@@ -158,8 +148,7 @@ module Spektrum
|
|
158
148
|
end
|
159
149
|
|
160
150
|
def altitude
|
161
|
-
|
162
|
-
alt
|
151
|
+
@altitude ||= two_byte_field(1..2, :little)
|
163
152
|
end
|
164
153
|
|
165
154
|
def latitude
|
@@ -179,8 +168,7 @@ module Spektrum
|
|
179
168
|
end
|
180
169
|
|
181
170
|
def heading
|
182
|
-
|
183
|
-
head / 10.0
|
171
|
+
@heading ||= (two_byte_field(11..12, :little) / 10.0)
|
184
172
|
end
|
185
173
|
|
186
174
|
end
|
@@ -215,8 +203,7 @@ module Spektrum
|
|
215
203
|
end
|
216
204
|
|
217
205
|
def sats
|
218
|
-
sats
|
219
|
-
sats
|
206
|
+
@sats ||= byte_field(7)
|
220
207
|
end
|
221
208
|
|
222
209
|
end
|
@@ -236,8 +223,7 @@ module Spektrum
|
|
236
223
|
end
|
237
224
|
|
238
225
|
def speed
|
239
|
-
speed
|
240
|
-
speed
|
226
|
+
@speed ||= two_byte_field(1..2)
|
241
227
|
end
|
242
228
|
|
243
229
|
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 eql(
|
17
|
+
its(:duration) { should eql(4) }
|
18
18
|
|
19
19
|
its(:bind_type) { should eql('DSMX') }
|
20
20
|
|
@@ -34,7 +34,7 @@ describe Spektrum::Log::Flight do
|
|
34
34
|
|
35
35
|
it { should have(634).records }
|
36
36
|
|
37
|
-
its(:duration) { should eql(
|
37
|
+
its(:duration) { should eql(14) }
|
38
38
|
|
39
39
|
end
|
40
40
|
|
@@ -46,7 +46,7 @@ describe Spektrum::Log::Flight do
|
|
46
46
|
|
47
47
|
it { should have(641).records }
|
48
48
|
|
49
|
-
its(:duration) { should eql(
|
49
|
+
its(:duration) { should eql(15) }
|
50
50
|
|
51
51
|
end
|
52
52
|
|
@@ -64,7 +64,17 @@ describe Spektrum::Log::Flight do
|
|
64
64
|
|
65
65
|
it { should have(260).records }
|
66
66
|
|
67
|
-
|
67
|
+
it { should_not be_empty }
|
68
|
+
|
69
|
+
its(:duration) { should eql(2) }
|
70
|
+
|
71
|
+
its(:bind_type) { should eql('DSMX') }
|
72
|
+
|
73
|
+
its(:model_name) { should eql('Voodoo 600') }
|
74
|
+
|
75
|
+
its(:model_number) { should eql(1) }
|
76
|
+
|
77
|
+
its(:model_type) { should eql('Helicopter') }
|
68
78
|
|
69
79
|
end
|
70
80
|
|
@@ -194,7 +204,7 @@ describe Spektrum::Log::Flight do
|
|
194
204
|
|
195
205
|
it { should have(23155).records }
|
196
206
|
|
197
|
-
its(:duration) { should eql(
|
207
|
+
its(:duration) { should eql(579) }
|
198
208
|
|
199
209
|
it { should_not be_empty }
|
200
210
|
|
@@ -216,7 +226,7 @@ describe Spektrum::Log::Flight do
|
|
216
226
|
|
217
227
|
it { should_not be_empty }
|
218
228
|
|
219
|
-
its(:duration) { should eql(
|
229
|
+
its(:duration) { should eql(63) }
|
220
230
|
|
221
231
|
its(:bind_type) { should eql('DSMX') }
|
222
232
|
|
data/spektrum-log.gemspec
CHANGED
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.4
|
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-05-
|
11
|
+
date: 2013-05-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: ci_reporter
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.8.4
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.8.4
|
41
55
|
description: Read and interpret Spektrum TLM log files.
|
42
56
|
email:
|
43
57
|
- nick@codelever.com
|