prova-vhm-raw2xml 0.1.4 → 0.2.0

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/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"