prova-vhm-raw2xml 0.1.4 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.4
1
+ 0.2.0
@@ -1,31 +1,44 @@
1
1
  require 'ffi'
2
2
 
3
- module Fleetio
4
- module ProvaVHM
5
- module Raw2Xml
6
- extend FFI::Library
3
+ module ProvaVHM
4
+ module Raw2Xml
5
+ extend FFI::Library
7
6
 
8
- # Loads the C shared library
9
- ffi_lib File.expand_path(File.dirname(__FILE__) + '/libZVLParser/libZVLParser64.so')
10
- #ffi_lib File.expand_path(File.dirname(__FILE__) + '/libZVLParser/libZVLParser32.so')
7
+ class << self
8
+ def shared_library_path
9
+ abort("Windows isn't supported by this gem") if running_on_windows?
10
+ File.expand_path(File.dirname(__FILE__) +
11
+ "/libZVLParser/#{running_on_a_mac? ? 'mac' : 'linux'}/libZVLParser64.so")
12
+ end
11
13
 
12
- # Public: Converts a raw file from a Prova Systems VHM into an XML file.
13
- #
14
- # Signature
15
- #
16
- # Fleetio::ProvaVHM::Raw2Xml.convert(raw_file_path, metric, xml_file_path)
17
- #
18
- # raw_file_path - The String path of the raw file to convert.
19
- # metric - Boolean flag should be true for metric units, false for imperial units.
20
- # xml_file_path - The String path of the XML file output.
21
- #
22
- # Examples
23
- #
24
- # Fleetio::ProvaVHM::Raw2Xml.convert('test.raw', false, 'test.xml')
25
- #
26
- # Returns true if the operation was successful, false if not.
27
- attach_function :convert, :ZVLP_ConvertRawToXML, [:string, :bool, :string], :bool
14
+ def running_on_windows?
15
+ RUBY_PLATFORM =~ /mswin32|mingw32/
16
+ end
28
17
 
18
+ def running_on_a_mac?
19
+ RUBY_PLATFORM =~ /-darwin\d/
20
+ end
29
21
  end
22
+
23
+ # Loads the C shared library
24
+ ffi_lib(shared_library_path)
25
+
26
+ # Public: Converts a raw file from a Prova Systems VHM into an XML file.
27
+ #
28
+ # Signature
29
+ #
30
+ # Fleetio::ProvaVHM::Raw2Xml.convert(raw_file_path, metric, xml_file_path)
31
+ #
32
+ # raw_file_path - The String path of the raw file to convert.
33
+ # metric - Boolean flag should be true for metric units, false for imperial units.
34
+ # xml_file_path - The String path of the XML file output.
35
+ #
36
+ # Examples
37
+ #
38
+ # Fleetio::ProvaVHM::Raw2Xml.convert('test.raw', false, 'test.xml')
39
+ #
40
+ # Returns true if the operation was successful, false if not.
41
+ attach_function :convert, :ZVLP_ConvertRawToXML, [:string, :bool, :string], :bool
42
+
30
43
  end
31
44
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "prova-vhm-raw2xml"
8
- s.version = "0.1.4"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Tony Summerville"]
12
- s.date = "2012-03-09"
12
+ s.date = "2012-03-10"
13
13
  s.description = "Converts raw data from a Prova Systems Vehicle Health Monitor (VHM) to plain old XML."
14
14
  s.email = "tsummerville@rarestep.com"
15
15
  s.extra_rdoc_files = [
@@ -25,12 +25,17 @@ Gem::Specification.new do |s|
25
25
  "README.rdoc",
26
26
  "Rakefile",
27
27
  "VERSION",
28
- "lib/libZVLParser/libZVLParser32.so",
29
- "lib/libZVLParser/libZVLParser64.so",
28
+ "lib/libZVLParser/linux/libZVLParser32.so",
29
+ "lib/libZVLParser/linux/libZVLParser64.so",
30
+ "lib/libZVLParser/mac/libZVLParser32.so",
31
+ "lib/libZVLParser/mac/libZVLParser64.so",
30
32
  "lib/prova-vhm-raw2xml.rb",
31
33
  "prova-vhm-raw2xml.gemspec",
32
34
  "spec/prova-vhm-raw2xml_spec.rb",
33
- "spec/spec_helper.rb"
35
+ "spec/spec_helper.rb",
36
+ "spec/support/file_helpers.rb",
37
+ "spec/support/test.raw",
38
+ "spec/support/xml_helpers.rb"
34
39
  ]
35
40
  s.homepage = "http://github.com/rarestep/prova-vhm-raw2xml"
36
41
  s.licenses = ["MIT"]
@@ -1,7 +1,28 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
- describe "ProvaVhmRaw2xml" do
4
- it "fails" do
5
- fail "hey buddy, you should probably rename this file and start specing for real"
3
+ describe ProvaVHM::Raw2Xml do
4
+
5
+ it "responds to helper methods" do
6
+ ProvaVHM::Raw2Xml.should respond_to :running_on_windows?
7
+ ProvaVHM::Raw2Xml.should respond_to :running_on_a_mac?
8
+ ProvaVHM::Raw2Xml.should respond_to :shared_library_path
9
+ end
10
+
11
+ it "responds to :convert" do
12
+ ProvaVHM::Raw2Xml.should respond_to :convert
13
+ end
14
+
15
+ context do
16
+
17
+ it "converts a raw file with imperial units" do
18
+ ProvaVHM::Raw2Xml.convert(raw_file, false, xml_file).should be true
19
+ compare_xml(File.read(xml_file), expected_imperial_xml).should be true
20
+ end
21
+
22
+ it "converts a raw file with metric units" do
23
+ ProvaVHM::Raw2Xml.convert(raw_file, true, xml_file).should be true
24
+ compare_xml(File.read(xml_file), expected_metric_xml).should be true
25
+ end
6
26
  end
27
+
7
28
  end
data/spec/spec_helper.rb CHANGED
@@ -5,8 +5,10 @@ require 'prova-vhm-raw2xml'
5
5
 
6
6
  # Requires supporting files with custom matchers and macros, etc,
7
7
  # in ./support/ and its subdirectories.
8
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
8
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
9
9
 
10
- RSpec.configure do |config|
11
-
10
+ RSpec.configure do |c|
11
+ c.include XmlHelpers
12
+ c.include FileHelpers
13
+ c.after(:all) { cleanup_xml_file }
12
14
  end
@@ -0,0 +1,26 @@
1
+ module FileHelpers
2
+
3
+ # Internal: Returns a String with the current directory path of this file.
4
+ def current_directory
5
+ File.expand_path(File.dirname(__FILE__))
6
+ end
7
+
8
+ # Internal: Returns a String with the path to the raw file.
9
+ def raw_file
10
+ current_directory + '/test.raw'
11
+ end
12
+
13
+ # Internal: Returns a String with the path to the XML file.
14
+ def xml_file
15
+ current_directory + '/test.xml'
16
+ end
17
+
18
+ # Internal: Deletes the XML file if it exists.
19
+ def cleanup_xml_file
20
+ if File.exists?(xml_file)
21
+ File.delete(xml_file)
22
+ puts "\nDeleted XML file: #{xml_file}"
23
+ end
24
+ end
25
+
26
+ end
Binary file
@@ -0,0 +1,471 @@
1
+ require 'rexml/document'
2
+
3
+ module XmlHelpers
4
+
5
+ # Internal: Compares two XML strings and determines whether or not they're equal.
6
+ #
7
+ # Comparing XML is always a b-i-a-t-c-h in any testing environment. Borrowed from:
8
+ # http://drawohara.com/post/89110816/ruby-comparing-xml
9
+ #
10
+ # a - String of XML
11
+ # b - String of XML
12
+ #
13
+ # Returns true if the XML strings are equal, false if not.
14
+ def compare_xml(a, b)
15
+ a = REXML::Document.new(a.to_s)
16
+ b = REXML::Document.new(b.to_s)
17
+
18
+ normalized = Class.new(REXML::Formatters::Pretty) do
19
+ def write_text(node, output)
20
+ super(node.to_s.strip, output)
21
+ end
22
+ end
23
+
24
+ normalized.new(indentation=0, ie_hack=false).write(node=a, a_normalized='')
25
+ normalized.new(indentation=0, ie_hack=false).write(node=b, b_normalized='')
26
+
27
+ a_normalized == b_normalized
28
+ end
29
+
30
+ # Internal: Returns a string containing the expected XML when converting the `test.raw` file
31
+ # using imperial units (e.g. miles, gallons).
32
+ def expected_imperial_xml
33
+ <<-EOXML
34
+ <?xml version="1.0" encoding="UTF-8"?>
35
+ <event_list device_id="0013A20040552925" ap_id="0013A20040552940" conversion="english">
36
+ <event type="EV_RADIO_SN">
37
+ 0013A20040552925
38
+ </event>
39
+ <event type="EV_VIN">
40
+ OZENELEKTRONIK123
41
+ </event>
42
+ <event type="EV_SW_VERSION">
43
+ ....
44
+ </event>
45
+ <event type="EV_HW_VERSION">
46
+ 1.0.0.0
47
+ </event>
48
+ <event type="EV_ZVL_TEMPERATURE" units="F">
49
+ 77
50
+ </event>
51
+ <event type="EV_MIL_STATUS" dtc_count="0">
52
+ off
53
+ </event>
54
+ <event type="EV_MONITOR_STATUS">
55
+ <monitor_status name="Misfire">
56
+ complete
57
+ </monitor_status>
58
+ <monitor_status name="Fuel System">
59
+ complete
60
+ </monitor_status>
61
+ <monitor_status name="Comprehensive Component">
62
+ complete
63
+ </monitor_status>
64
+ <monitor_status name="Evaporative System">
65
+ complete
66
+ </monitor_status>
67
+ <monitor_status name="Oxygen Sensor">
68
+ complete
69
+ </monitor_status>
70
+ <monitor_status name="Oxygen Sensor Heater">
71
+ complete
72
+ </monitor_status>
73
+ <monitor_status name="Catalyst">
74
+ complete
75
+ </monitor_status>
76
+ <monitor_status name="Heated Catalyst">
77
+ not supported
78
+ </monitor_status>
79
+ <monitor_status name="AC System Refrigerant">
80
+ not supported
81
+ </monitor_status>
82
+ <monitor_status name="Secondary Air System">
83
+ not supported
84
+ </monitor_status>
85
+ <monitor_status name="EGR System">
86
+ complete
87
+ </monitor_status>
88
+ </event>
89
+ <event type="EV_CLOCK_SET" date="04/20/2011" time="10:51:55"/>
90
+ <event type="EV_HOST_DISCONNECT" date="04/20/2011" time="10:52:00"/>
91
+ <event type="EV_TRIP_RECORD" date="04/19/2011" time="16:59:12">
92
+ <trip_duration units="seconds">
93
+ 6048
94
+ </trip_duration>
95
+ <idling_duration units="seconds">
96
+ 0
97
+ </idling_duration>
98
+ <trip_distance units="miles">
99
+ 131.531
100
+ </trip_distance>
101
+ <moving_fuel_efficiency units="mpg">
102
+ 28.2091
103
+ </moving_fuel_efficiency>
104
+ <idling_fuel_efficiency units="gal/hr">
105
+ 0
106
+ </idling_fuel_efficiency>
107
+ <total_fuel_efficiency units="mpg">
108
+ 28.2091
109
+ </total_fuel_efficiency>
110
+ <total_fuel_used units="gallons">
111
+ 4.66269
112
+ </total_fuel_used>
113
+ <idling_fuel_used units="gallons">
114
+ 0
115
+ </idling_fuel_used>
116
+ <maximum_speed units="mph" date="04/19/2011" time="17:00:46">
117
+ 78.9141
118
+ </maximum_speed>
119
+ <average_speed units="mph">
120
+ 78.2964
121
+ </average_speed>
122
+ <maximum_rpm units="RPM" date="04/19/2011" time="16:59:12">
123
+ 4576
124
+ </maximum_rpm>
125
+ <average_rpm units="RPM">
126
+ 4558.9
127
+ </average_rpm>
128
+ <maximum_tp units="%" date="00/00/0000" time="00:00:00">
129
+ 0
130
+ </maximum_tp>
131
+ <average_tp units="%">
132
+ 0
133
+ </average_tp>
134
+ <maximum_ect units="F" date="04/20/2011" time="12:15:18">
135
+ 120.2
136
+ </maximum_ect>
137
+ <average_ect units="F">
138
+ 118.4
139
+ </average_ect>
140
+ <maximum_acceleration units="G" date="04/20/2011" time="10:54:43">
141
+ 0.027
142
+ </maximum_acceleration>
143
+ <maximum_deceleration units="G" date="04/20/2011" time="10:54:44">
144
+ 0.027
145
+ </maximum_deceleration>
146
+ <speed_histogram>
147
+ <bin units="mph" lower_threshold="1.243" upper_threshold="9.942">
148
+ 0
149
+ </bin>
150
+ <bin units="mph" lower_threshold="9.942" upper_threshold="19.884">
151
+ 0
152
+ </bin>
153
+ <bin units="mph" lower_threshold="19.884" upper_threshold="29.826">
154
+ 0
155
+ </bin>
156
+ <bin units="mph" lower_threshold="29.826" upper_threshold="39.768">
157
+ 0
158
+ </bin>
159
+ <bin units="mph" lower_threshold="39.768" upper_threshold="49.710">
160
+ 0
161
+ </bin>
162
+ <bin units="mph" lower_threshold="49.710" upper_threshold="59.652">
163
+ 0
164
+ </bin>
165
+ <bin units="mph" lower_threshold="59.652" upper_threshold="70.215">
166
+ 0
167
+ </bin>
168
+ <bin units="mph" lower_threshold="70.215" upper_threshold="80.157">
169
+ 5841
170
+ </bin>
171
+ <bin units="mph" lower_threshold="80.157" upper_threshold="90.099">
172
+ 0
173
+ </bin>
174
+ <bin units="mph" lower_threshold="90.099">
175
+ 0
176
+ </bin>
177
+ </speed_histogram>
178
+ <acceleration_histogram>
179
+ <bin units="G" lower_threshold="0.2" upper_threshold="0.25">
180
+ 0
181
+ </bin>
182
+ <bin units="G" lower_threshold="0.25" upper_threshold="0.3">
183
+ 0
184
+ </bin>
185
+ <bin units="G" lower_threshold="0.3" upper_threshold="0.35">
186
+ 0
187
+ </bin>
188
+ <bin units="G" lower_threshold="0.35" upper_threshold="0.4">
189
+ 0
190
+ </bin>
191
+ <bin units="G" lower_threshold="0.4" upper_threshold="0.45">
192
+ 0
193
+ </bin>
194
+ <bin units="G" lower_threshold="0.45" upper_threshold="0.5">
195
+ 0
196
+ </bin>
197
+ <bin units="G" lower_threshold="0.5" upper_threshold="0.6">
198
+ 0
199
+ </bin>
200
+ <bin units="G" lower_threshold="0.6" upper_threshold="0.8">
201
+ 0
202
+ </bin>
203
+ <bin units="G" lower_threshold="0.8" upper_threshold="1">
204
+ 0
205
+ </bin>
206
+ <bin units="G" lower_threshold="1">
207
+ 0
208
+ </bin>
209
+ </acceleration_histogram>
210
+ <deceleration_histogram>
211
+ <bin units="G" lower_threshold="0.2" upper_threshold="0.3">
212
+ 0
213
+ </bin>
214
+ <bin units="G" lower_threshold="0.3" upper_threshold="0.4">
215
+ 0
216
+ </bin>
217
+ <bin units="G" lower_threshold="0.4" upper_threshold="0.5">
218
+ 0
219
+ </bin>
220
+ <bin units="G" lower_threshold="0.5" upper_threshold="0.6">
221
+ 0
222
+ </bin>
223
+ <bin units="G" lower_threshold="0.6" upper_threshold="0.7">
224
+ 0
225
+ </bin>
226
+ <bin units="G" lower_threshold="0.7" upper_threshold="0.8">
227
+ 0
228
+ </bin>
229
+ <bin units="G" lower_threshold="0.8" upper_threshold="0.9">
230
+ 0
231
+ </bin>
232
+ <bin units="G" lower_threshold="0.9" upper_threshold="1">
233
+ 0
234
+ </bin>
235
+ <bin units="G" lower_threshold="1" upper_threshold="2">
236
+ 0
237
+ </bin>
238
+ <bin units="G" lower_threshold="2">
239
+ 0
240
+ </bin>
241
+ </deceleration_histogram>
242
+ </event>
243
+ <event type="EV_DLC_DISCONNECT" date="04/20/2011" time="12:15:18"/>
244
+ <event type="EV_DLC_CONNECT" date="04/20/2011" time="12:58:57"/>
245
+ <event type="EV_HOST_CONNECT" date="04/20/2011" time="13:18:35"/>
246
+ </event_list>
247
+ EOXML
248
+ end
249
+
250
+ # Internal: Returns a string containing the expected XML when converting the `test.raw` file
251
+ # using metric units (e.g. kilometers, liters).
252
+ def expected_metric_xml
253
+ <<-EOXML
254
+ <?xml version="1.0" encoding="UTF-8"?>
255
+ <event_list device_id="0013A20040552925" ap_id="0013A20040552940" conversion="metric">
256
+ <event type="EV_RADIO_SN">
257
+ 0013A20040552925
258
+ </event>
259
+ <event type="EV_VIN">
260
+ OZENELEKTRONIK123
261
+ </event>
262
+ <event type="EV_SW_VERSION">
263
+ ....
264
+ </event>
265
+ <event type="EV_HW_VERSION">
266
+ 1.0.0.0
267
+ </event>
268
+ <event type="EV_ZVL_TEMPERATURE" units="C">
269
+ 25
270
+ </event>
271
+ <event type="EV_MIL_STATUS" dtc_count="0">
272
+ off
273
+ </event>
274
+ <event type="EV_MONITOR_STATUS">
275
+ <monitor_status name="Misfire">
276
+ complete
277
+ </monitor_status>
278
+ <monitor_status name="Fuel System">
279
+ complete
280
+ </monitor_status>
281
+ <monitor_status name="Comprehensive Component">
282
+ complete
283
+ </monitor_status>
284
+ <monitor_status name="Evaporative System">
285
+ complete
286
+ </monitor_status>
287
+ <monitor_status name="Oxygen Sensor">
288
+ complete
289
+ </monitor_status>
290
+ <monitor_status name="Oxygen Sensor Heater">
291
+ complete
292
+ </monitor_status>
293
+ <monitor_status name="Catalyst">
294
+ complete
295
+ </monitor_status>
296
+ <monitor_status name="Heated Catalyst">
297
+ not supported
298
+ </monitor_status>
299
+ <monitor_status name="AC System Refrigerant">
300
+ not supported
301
+ </monitor_status>
302
+ <monitor_status name="Secondary Air System">
303
+ not supported
304
+ </monitor_status>
305
+ <monitor_status name="EGR System">
306
+ complete
307
+ </monitor_status>
308
+ </event>
309
+ <event type="EV_CLOCK_SET" date="04/20/2011" time="10:51:55"/>
310
+ <event type="EV_HOST_DISCONNECT" date="04/20/2011" time="10:52:00"/>
311
+ <event type="EV_TRIP_RECORD" date="04/19/2011" time="16:59:12">
312
+ <trip_duration units="seconds">
313
+ 6048
314
+ </trip_duration>
315
+ <idling_duration units="seconds">
316
+ 0
317
+ </idling_duration>
318
+ <trip_distance units="km">
319
+ 211.678
320
+ </trip_distance>
321
+ <moving_fuel_efficiency units="km/l">
322
+ 11.9929
323
+ </moving_fuel_efficiency>
324
+ <idling_fuel_efficiency units="l/hr">
325
+ 0
326
+ </idling_fuel_efficiency>
327
+ <total_fuel_efficiency units="km/l">
328
+ 11.9929
329
+ </total_fuel_efficiency>
330
+ <total_fuel_used units="liters">
331
+ 17.6502
332
+ </total_fuel_used>
333
+ <idling_fuel_used units="liters">
334
+ 0
335
+ </idling_fuel_used>
336
+ <maximum_speed units="kph" date="04/19/2011" time="17:00:46">
337
+ 127
338
+ </maximum_speed>
339
+ <average_speed units="kph">
340
+ 126.006
341
+ </average_speed>
342
+ <maximum_rpm units="RPM" date="04/19/2011" time="16:59:12">
343
+ 4576
344
+ </maximum_rpm>
345
+ <average_rpm units="RPM">
346
+ 4558.9
347
+ </average_rpm>
348
+ <maximum_tp units="%" date="00/00/0000" time="00:00:00">
349
+ 0
350
+ </maximum_tp>
351
+ <average_tp units="%">
352
+ 0
353
+ </average_tp>
354
+ <maximum_ect units="C" date="04/20/2011" time="12:15:18">
355
+ 49
356
+ </maximum_ect>
357
+ <average_ect units="C">
358
+ 48.0002
359
+ </average_ect>
360
+ <maximum_acceleration units="G" date="04/20/2011" time="10:54:43">
361
+ 0.027
362
+ </maximum_acceleration>
363
+ <maximum_deceleration units="G" date="04/20/2011" time="10:54:44">
364
+ 0.027
365
+ </maximum_deceleration>
366
+ <speed_histogram>
367
+ <bin units="kph" lower_threshold="2" upper_threshold="16">
368
+ 0
369
+ </bin>
370
+ <bin units="kph" lower_threshold="16" upper_threshold="32">
371
+ 0
372
+ </bin>
373
+ <bin units="kph" lower_threshold="32" upper_threshold="48">
374
+ 0
375
+ </bin>
376
+ <bin units="kph" lower_threshold="48" upper_threshold="64">
377
+ 0
378
+ </bin>
379
+ <bin units="kph" lower_threshold="64" upper_threshold="80">
380
+ 0
381
+ </bin>
382
+ <bin units="kph" lower_threshold="80" upper_threshold="96">
383
+ 0
384
+ </bin>
385
+ <bin units="kph" lower_threshold="96" upper_threshold="113">
386
+ 0
387
+ </bin>
388
+ <bin units="kph" lower_threshold="113" upper_threshold="129">
389
+ 5841
390
+ </bin>
391
+ <bin units="kph" lower_threshold="129" upper_threshold="145">
392
+ 0
393
+ </bin>
394
+ <bin units="kph" lower_threshold="145">
395
+ 0
396
+ </bin>
397
+ </speed_histogram>
398
+ <acceleration_histogram>
399
+ <bin units="G" lower_threshold="0.2" upper_threshold="0.25">
400
+ 0
401
+ </bin>
402
+ <bin units="G" lower_threshold="0.25" upper_threshold="0.3">
403
+ 0
404
+ </bin>
405
+ <bin units="G" lower_threshold="0.3" upper_threshold="0.35">
406
+ 0
407
+ </bin>
408
+ <bin units="G" lower_threshold="0.35" upper_threshold="0.4">
409
+ 0
410
+ </bin>
411
+ <bin units="G" lower_threshold="0.4" upper_threshold="0.45">
412
+ 0
413
+ </bin>
414
+ <bin units="G" lower_threshold="0.45" upper_threshold="0.5">
415
+ 0
416
+ </bin>
417
+ <bin units="G" lower_threshold="0.5" upper_threshold="0.6">
418
+ 0
419
+ </bin>
420
+ <bin units="G" lower_threshold="0.6" upper_threshold="0.8">
421
+ 0
422
+ </bin>
423
+ <bin units="G" lower_threshold="0.8" upper_threshold="1">
424
+ 0
425
+ </bin>
426
+ <bin units="G" lower_threshold="1">
427
+ 0
428
+ </bin>
429
+ </acceleration_histogram>
430
+ <deceleration_histogram>
431
+ <bin units="G" lower_threshold="0.2" upper_threshold="0.3">
432
+ 0
433
+ </bin>
434
+ <bin units="G" lower_threshold="0.3" upper_threshold="0.4">
435
+ 0
436
+ </bin>
437
+ <bin units="G" lower_threshold="0.4" upper_threshold="0.5">
438
+ 0
439
+ </bin>
440
+ <bin units="G" lower_threshold="0.5" upper_threshold="0.6">
441
+ 0
442
+ </bin>
443
+ <bin units="G" lower_threshold="0.6" upper_threshold="0.7">
444
+ 0
445
+ </bin>
446
+ <bin units="G" lower_threshold="0.7" upper_threshold="0.8">
447
+ 0
448
+ </bin>
449
+ <bin units="G" lower_threshold="0.8" upper_threshold="0.9">
450
+ 0
451
+ </bin>
452
+ <bin units="G" lower_threshold="0.9" upper_threshold="1">
453
+ 0
454
+ </bin>
455
+ <bin units="G" lower_threshold="1" upper_threshold="2">
456
+ 0
457
+ </bin>
458
+ <bin units="G" lower_threshold="2">
459
+ 0
460
+ </bin>
461
+ </deceleration_histogram>
462
+ </event>
463
+ <event type="EV_DLC_DISCONNECT" date="04/20/2011" time="12:15:18"/>
464
+ <event type="EV_DLC_CONNECT" date="04/20/2011" time="12:58:57"/>
465
+ <event type="EV_HOST_CONNECT" date="04/20/2011" time="13:18:35"/>
466
+ </event_list>
467
+
468
+ EOXML
469
+ end
470
+
471
+ end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: prova-vhm-raw2xml
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.4
5
+ version: 0.2.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Tony Summerville
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-03-09 00:00:00 Z
13
+ date: 2012-03-10 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: ffi
@@ -85,12 +85,17 @@ files:
85
85
  - README.rdoc
86
86
  - Rakefile
87
87
  - VERSION
88
- - lib/libZVLParser/libZVLParser32.so
89
- - lib/libZVLParser/libZVLParser64.so
88
+ - lib/libZVLParser/linux/libZVLParser32.so
89
+ - lib/libZVLParser/linux/libZVLParser64.so
90
+ - lib/libZVLParser/mac/libZVLParser32.so
91
+ - lib/libZVLParser/mac/libZVLParser64.so
90
92
  - lib/prova-vhm-raw2xml.rb
91
93
  - prova-vhm-raw2xml.gemspec
92
94
  - spec/prova-vhm-raw2xml_spec.rb
93
95
  - spec/spec_helper.rb
96
+ - spec/support/file_helpers.rb
97
+ - spec/support/test.raw
98
+ - spec/support/xml_helpers.rb
94
99
  homepage: http://github.com/rarestep/prova-vhm-raw2xml
95
100
  licenses:
96
101
  - MIT
@@ -104,7 +109,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
104
109
  requirements:
105
110
  - - ">="
106
111
  - !ruby/object:Gem::Version
107
- hash: -2627916538174514782
112
+ hash: -1305777079584967746
108
113
  segments:
109
114
  - 0
110
115
  version: "0"