spektrum-log 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|