mavlink-log 0.0.1 → 0.0.2
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/README.md +1 -0
- data/lib/mavlink/log.rb +5 -1
- data/lib/mavlink/log/entry.rb +34 -0
- data/lib/mavlink/log/file.rb +16 -41
- data/lib/mavlink/log/header.rb +20 -0
- data/lib/mavlink/log/message.rb +83 -0
- data/lib/mavlink/log/messages/attitude.rb +37 -0
- data/lib/mavlink/log/messages/factory.rb +37 -0
- data/lib/mavlink/log/messages/global_position_int.rb +47 -0
- data/lib/mavlink/log/messages/gps_raw_int.rb +51 -0
- data/lib/mavlink/log/messages/heart_beat.rb +31 -0
- data/lib/mavlink/log/messages/messages.rb +15 -0
- data/lib/mavlink/log/messages/mission_current.rb +11 -0
- data/lib/mavlink/log/messages/nav_controller_output.rb +39 -0
- data/lib/mavlink/log/messages/param_request_list.rb +15 -0
- data/lib/mavlink/log/messages/param_value.rb +27 -0
- data/lib/mavlink/log/messages/raw_imu.rb +43 -0
- data/lib/mavlink/log/messages/rc_channels_raw.rb +47 -0
- data/lib/mavlink/log/messages/request_data_stream.rb +27 -0
- data/lib/mavlink/log/messages/scaled_pressure.rb +19 -0
- data/lib/mavlink/log/messages/servo_output_raw.rb +43 -0
- data/lib/mavlink/log/messages/sys_status.rb +64 -0
- data/lib/mavlink/log/messages/vfr_hud.rb +37 -0
- data/lib/mavlink/log/version.rb +1 -1
- data/spec/file_spec.rb +11 -1
- data/spec/messages/attitude_spec.rb +34 -0
- data/spec/messages/global_position_int_spec.rb +38 -0
- data/spec/messages/gps_raw_int_spec.rb +40 -0
- data/spec/messages/heart_beat_spec.rb +32 -0
- data/spec/messages/param_value_spec.rb +30 -0
- data/spec/messages/raw_imu_spec.rb +40 -0
- data/spec/messages/rc_channels_raw_spec.rb +42 -0
- data/spec/messages/sys_status_spec.rb +46 -0
- data/spec/messages/vfr_hud_spec.rb +32 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/support/shared_examples_for_message.rb +13 -0
- data/spec/support/shared_examples_for_timed_message_micro.rb +9 -0
- data/spec/support/shared_examples_for_timed_message_milli.rb +9 -0
- data/spec/sys_status_spec.rb +0 -0
- metadata +48 -3
- data/lib/mavlink/log/messages.rb +0 -138
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MAVLink::Log::Messages::Attitude do
|
4
|
+
|
5
|
+
let(:time) { ["0004E87DD12586BD"].pack('H*') }
|
6
|
+
|
7
|
+
let(:header) { MAVLink::Log::Header.new(["FE1CEB01011E"].pack('H*')) }
|
8
|
+
|
9
|
+
let(:payload) { ["6533010081A986BB0EB69CBB2311D93F3CE3933AC0BB36BA80C911B9"].pack('H*') }
|
10
|
+
|
11
|
+
let(:crc) { ["4D46"].pack('H*') }
|
12
|
+
|
13
|
+
subject do
|
14
|
+
entry = MAVLink::Log::Entry.new(time, header, payload, crc)
|
15
|
+
MAVLink::Log::Messages::Attitude.new(entry)
|
16
|
+
end
|
17
|
+
|
18
|
+
it_behaves_like 'a message'
|
19
|
+
|
20
|
+
it_behaves_like 'a timed message (ms)', 78693
|
21
|
+
|
22
|
+
its(:roll) { should be_within(0.01).of(0.0) }
|
23
|
+
|
24
|
+
its(:pitch) { should be_within(0.01).of(0.0) }
|
25
|
+
|
26
|
+
its(:yaw) { should be_within(0.01).of(0.0) }
|
27
|
+
|
28
|
+
its(:rollspeed) { should be_within(0.01).of(1.695) }
|
29
|
+
|
30
|
+
its(:pitchspeed) { should be_within(0.01).of(0.0) }
|
31
|
+
|
32
|
+
its(:yawspeed) { should be_within(0.01).of(0.0) }
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MAVLink::Log::Messages::GlobalPositionInt do
|
4
|
+
|
5
|
+
let(:time) { ["0004D9EE608DF2D4"].pack('H*') }
|
6
|
+
|
7
|
+
let(:header) { MAVLink::Log::Header.new(["FE1CA7370121"].pack('H*')) }
|
8
|
+
|
9
|
+
let(:payload) { ["0C260A00E065B117B3535BC140D31900C0E0FFFFF2FF0F00EEFF3C8C"].pack('H*') }
|
10
|
+
|
11
|
+
let(:crc) { ["FD73"].pack('H*') }
|
12
|
+
|
13
|
+
subject do
|
14
|
+
entry = MAVLink::Log::Entry.new(time, header, payload, crc)
|
15
|
+
MAVLink::Log::Messages::GlobalPositionInt.new(entry)
|
16
|
+
end
|
17
|
+
|
18
|
+
it_behaves_like 'a message'
|
19
|
+
|
20
|
+
it_behaves_like 'a timed message (ms)', 665100
|
21
|
+
|
22
|
+
its(:lat) { should be_within(0.0001).of(39.7501) }
|
23
|
+
|
24
|
+
its(:lon) { should be_within(0.0001).of(-105.0979) }
|
25
|
+
|
26
|
+
its(:alt) { should be_within(0.01).of(1692.48) }
|
27
|
+
|
28
|
+
its(:relative_alt) { should be_within(0.01).of(-8.0) }
|
29
|
+
|
30
|
+
its(:vx) { should be_within(0.01).of(-0.14) }
|
31
|
+
|
32
|
+
its(:vy) { should be_within(0.01).of(0.15) }
|
33
|
+
|
34
|
+
its(:vz) { should be_within(0.01).of(-0.18) }
|
35
|
+
|
36
|
+
its(:hdg) { should be_within(0.1).of(359.0) }
|
37
|
+
|
38
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MAVLink::Log::Messages::GpsRawInt do
|
4
|
+
|
5
|
+
let(:time) { ["0004d9ee608d5a08"].pack('H*') }
|
6
|
+
|
7
|
+
let(:header) { MAVLink::Log::Header.new(["FE1E9C370118"].pack('H*')) }
|
8
|
+
|
9
|
+
let(:payload) { ["a091a127000000003066b11751535bc1959402000800ffff0500232d0305"].pack('H*') }
|
10
|
+
|
11
|
+
let(:crc) { ["c13a"].pack('H*') }
|
12
|
+
|
13
|
+
subject do
|
14
|
+
entry = MAVLink::Log::Entry.new(time, header, payload, crc)
|
15
|
+
MAVLink::Log::Messages::GpsRawInt.new(entry)
|
16
|
+
end
|
17
|
+
|
18
|
+
it_behaves_like 'a message'
|
19
|
+
|
20
|
+
it_behaves_like 'a timed message (us)', 664900000
|
21
|
+
|
22
|
+
its(:fix_type) { should eql(3) }
|
23
|
+
|
24
|
+
its(:lat) { should be_within(0.0001).of(39.7502) }
|
25
|
+
|
26
|
+
its(:lon) { should be_within(0.0001).of(-105.0979) }
|
27
|
+
|
28
|
+
its(:alt) { should be_within(0.01).of(169.11) }
|
29
|
+
|
30
|
+
its(:eph) { should be_within(0.01).of(0.08) }
|
31
|
+
|
32
|
+
its(:epv) { should be_within(0.01).of(655.35) }
|
33
|
+
|
34
|
+
its(:vel) { should be_within(0.01).of(0.05) }
|
35
|
+
|
36
|
+
its(:cog) { should be_within(0.01).of(115.55) }
|
37
|
+
|
38
|
+
its(:satellites_visible) { should eql(5) }
|
39
|
+
|
40
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MAVLink::Log::Messages::HeartBeat do
|
4
|
+
|
5
|
+
let(:time) { ["0004D9EE608AD128"].pack('H*') }
|
6
|
+
|
7
|
+
let(:header) { MAVLink::Log::Header.new(["FE09F7370100"].pack('H*')) }
|
8
|
+
|
9
|
+
let(:payload) { ["01000000010AC10403"].pack('H*') }
|
10
|
+
|
11
|
+
let(:crc) { ["F8CE"].pack('H*') }
|
12
|
+
|
13
|
+
subject do
|
14
|
+
entry = MAVLink::Log::Entry.new(time, header, payload, crc)
|
15
|
+
MAVLink::Log::Messages::HeartBeat.new(entry)
|
16
|
+
end
|
17
|
+
|
18
|
+
it_behaves_like 'a message'
|
19
|
+
|
20
|
+
its(:type) { should eql(1) }
|
21
|
+
|
22
|
+
its(:autopilot) { should eql(0) }
|
23
|
+
|
24
|
+
its(:base_mode) { should eql(0) }
|
25
|
+
|
26
|
+
its(:custom_mode) { should eql(0xC10A0100) }
|
27
|
+
|
28
|
+
its(:system_status) { should eql(4) }
|
29
|
+
|
30
|
+
its(:mavlink_version) { should eql(3) }
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MAVLink::Log::Messages::ParamValue do
|
4
|
+
|
5
|
+
let(:time) { ["0004E87DCDB548F1"].pack('H*') }
|
6
|
+
|
7
|
+
let(:header) { MAVLink::Log::Header.new(["FE192D010116"].pack('H*')) }
|
8
|
+
|
9
|
+
let(:payload) { ["0000BA4210010F014D4F545F544352565F4D41585043540002"].pack('H*') }
|
10
|
+
|
11
|
+
let(:crc) { ["6982"].pack('H*') }
|
12
|
+
|
13
|
+
subject do
|
14
|
+
entry = MAVLink::Log::Entry.new(time, header, payload, crc)
|
15
|
+
MAVLink::Log::Messages::ParamValue.new(entry)
|
16
|
+
end
|
17
|
+
|
18
|
+
it_behaves_like 'a message'
|
19
|
+
|
20
|
+
its(:param_value) { should be_within(0.01).of(93.0) }
|
21
|
+
|
22
|
+
its(:param_count) { should eql(272) }
|
23
|
+
|
24
|
+
its(:param_index) { should eql(271) }
|
25
|
+
|
26
|
+
its(:param_id) { should eql('MOT_TCRV_MAXPCT') }
|
27
|
+
|
28
|
+
its(:param_type) { should eql(2) }
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MAVLink::Log::Messages::RawImu do
|
4
|
+
|
5
|
+
let(:time) { ["0004D9EE608DA5E4"].pack('H*') }
|
6
|
+
|
7
|
+
let(:header) { MAVLink::Log::Header.new(["FE1AA237011B"].pack('H*')) }
|
8
|
+
|
9
|
+
let(:payload) { ["4018A32700000000C6027F0155F4EE17F017B418000000000000"].pack('H*') }
|
10
|
+
|
11
|
+
let(:crc) { ["DD85"].pack('H*') }
|
12
|
+
|
13
|
+
subject do
|
14
|
+
entry = MAVLink::Log::Entry.new(time, header, payload, crc)
|
15
|
+
MAVLink::Log::Messages::RawImu.new(entry)
|
16
|
+
end
|
17
|
+
|
18
|
+
it_behaves_like 'a message'
|
19
|
+
|
20
|
+
it_behaves_like 'a timed message (us)', 665000000
|
21
|
+
|
22
|
+
its(:xacc) { should eql(710) }
|
23
|
+
|
24
|
+
its(:yacc) { should eql(383) }
|
25
|
+
|
26
|
+
its(:zacc) { should eql(-2987) }
|
27
|
+
|
28
|
+
its(:xgyro) { should eql(6126) }
|
29
|
+
|
30
|
+
its(:ygyro) { should eql(6128) }
|
31
|
+
|
32
|
+
its(:zgyro) { should eql(6324) }
|
33
|
+
|
34
|
+
its(:xmag) { should eql(0) }
|
35
|
+
|
36
|
+
its(:ymag) { should eql(0) }
|
37
|
+
|
38
|
+
its(:zmag) { should eql(0) }
|
39
|
+
|
40
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MAVLink::Log::Messages::RcChannelsRaw do
|
4
|
+
|
5
|
+
let(:time) { ["0004E87DD1249299"].pack('H*') }
|
6
|
+
|
7
|
+
let(:header) { MAVLink::Log::Header.new(["FE16E5010123"].pack('H*')) }
|
8
|
+
|
9
|
+
let(:payload) { ["BA320100EE05F5054A04FA058207D905d905d9050000"].pack('H*') }
|
10
|
+
|
11
|
+
let(:crc) { ["71CD"].pack('H*') }
|
12
|
+
|
13
|
+
subject do
|
14
|
+
entry = MAVLink::Log::Entry.new(time, header, payload, crc)
|
15
|
+
MAVLink::Log::Messages::RcChannelsRaw.new(entry)
|
16
|
+
end
|
17
|
+
|
18
|
+
it_behaves_like 'a message'
|
19
|
+
|
20
|
+
it_behaves_like 'a timed message (ms)', 78522
|
21
|
+
|
22
|
+
its(:port) { should eql(0) }
|
23
|
+
|
24
|
+
its(:chan1_raw) { should eql(1518) }
|
25
|
+
|
26
|
+
its(:chan2_raw) { should eql(1525) }
|
27
|
+
|
28
|
+
its(:chan3_raw) { should eql(1098) }
|
29
|
+
|
30
|
+
its(:chan4_raw) { should eql(1530) }
|
31
|
+
|
32
|
+
its(:chan5_raw) { should eql(1922) }
|
33
|
+
|
34
|
+
its(:chan6_raw) { should eql(1497) }
|
35
|
+
|
36
|
+
its(:chan7_raw) { should eql(1497) }
|
37
|
+
|
38
|
+
its(:chan8_raw) { should eql(1497) }
|
39
|
+
|
40
|
+
its(:rssi) { should eql(0) }
|
41
|
+
|
42
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MAVLink::Log::Messages::SysStatus do
|
4
|
+
|
5
|
+
let(:time) { ["0004D9EE5A9C7690"].pack('H*') }
|
6
|
+
|
7
|
+
let(:header) { MAVLink::Log::Header.new(["FE09F7370100"].pack('H*')) }
|
8
|
+
|
9
|
+
let(:payload) { ["2FFCFFFF2FACFFFF2FFCFFFF0000112BFFFF000000000000000000000000FF"].pack('H*') }
|
10
|
+
|
11
|
+
let(:crc) { ["E3E0"].pack('H*') }
|
12
|
+
|
13
|
+
subject do
|
14
|
+
entry = MAVLink::Log::Entry.new(time, header, payload, crc)
|
15
|
+
MAVLink::Log::Messages::SysStatus.new(entry)
|
16
|
+
end
|
17
|
+
|
18
|
+
it_behaves_like 'a message'
|
19
|
+
|
20
|
+
its(:onboard_control_sensors_present) { should eql(0xFFFFFC2F) }
|
21
|
+
|
22
|
+
its(:onboard_control_sensors_enabled) { should eql(0xFFFFAC2F) }
|
23
|
+
|
24
|
+
its(:onboard_control_sensors_health) { should eql(0xFFFFFC2F) }
|
25
|
+
|
26
|
+
its(:load) { should be_within(0.001).of(0.0) }
|
27
|
+
|
28
|
+
its(:voltage_battery) { should be_within(0.01).of(11.025) }
|
29
|
+
|
30
|
+
its(:current_battery) { should be_within(0.01).of(-0.01) }
|
31
|
+
|
32
|
+
its(:battery_remaining) { should eql(0) }
|
33
|
+
|
34
|
+
its(:drop_rate_comm) { should eql(0) }
|
35
|
+
|
36
|
+
its(:errors_comm) { should eql(0) }
|
37
|
+
|
38
|
+
its(:errors_count1) { should eql(0) }
|
39
|
+
|
40
|
+
its(:errors_count2) { should eql(0) }
|
41
|
+
|
42
|
+
its(:errors_count3) { should eql(0) }
|
43
|
+
|
44
|
+
its(:errors_count4) { should eql(65280) }
|
45
|
+
|
46
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MAVLink::Log::Messages::VfrHud do
|
4
|
+
|
5
|
+
let(:time) { ["0004d9ee608dc804"].pack('H*') }
|
6
|
+
|
7
|
+
let(:header) { MAVLink::Log::Header.new(["FE14A437014A"].pack('H*')) }
|
8
|
+
|
9
|
+
let(:payload) { ["713d8a3e8fc2753d5c8fd344000090c167010000"].pack('H*') }
|
10
|
+
|
11
|
+
let(:crc) { ["8C40"].pack('H*') }
|
12
|
+
|
13
|
+
subject do
|
14
|
+
entry = MAVLink::Log::Entry.new(time, header, payload, crc)
|
15
|
+
MAVLink::Log::Messages::VfrHud.new(entry)
|
16
|
+
end
|
17
|
+
|
18
|
+
it_behaves_like 'a message'
|
19
|
+
|
20
|
+
its(:airspeed) { should be_within(0.01).of(0.27) }
|
21
|
+
|
22
|
+
its(:groundspeed) { should be_within(0.01).of(0.06) }
|
23
|
+
|
24
|
+
its(:heading) { should eql(-28836) }
|
25
|
+
|
26
|
+
its(:throttle) { should eql(17619) }
|
27
|
+
|
28
|
+
its(:alt) { should be_within(0.1).of(-18.0) }
|
29
|
+
|
30
|
+
its(:climb) { should be_within(0.1).of(0.0) }
|
31
|
+
|
32
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -8,6 +8,8 @@ require 'awesome_print'
|
|
8
8
|
require 'pathname'
|
9
9
|
require 'mavlink/log'
|
10
10
|
|
11
|
+
Dir[File.join(File.dirname(__FILE__), 'support', '**', '*.rb')].each { |f| require f }
|
12
|
+
|
11
13
|
RSpec.configure do |config|
|
12
14
|
config.treat_symbols_as_metadata_keys_with_true_values = true
|
13
15
|
config.run_all_when_everything_filtered = true
|
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mavlink-log
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
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-10-
|
11
|
+
date: 2013-10-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: awesome_print
|
@@ -150,8 +150,27 @@ files:
|
|
150
150
|
- README.md
|
151
151
|
- Rakefile
|
152
152
|
- lib/mavlink/log.rb
|
153
|
+
- lib/mavlink/log/entry.rb
|
153
154
|
- lib/mavlink/log/file.rb
|
154
|
-
- lib/mavlink/log/
|
155
|
+
- lib/mavlink/log/header.rb
|
156
|
+
- lib/mavlink/log/message.rb
|
157
|
+
- lib/mavlink/log/messages/attitude.rb
|
158
|
+
- lib/mavlink/log/messages/factory.rb
|
159
|
+
- lib/mavlink/log/messages/global_position_int.rb
|
160
|
+
- lib/mavlink/log/messages/gps_raw_int.rb
|
161
|
+
- lib/mavlink/log/messages/heart_beat.rb
|
162
|
+
- lib/mavlink/log/messages/messages.rb
|
163
|
+
- lib/mavlink/log/messages/mission_current.rb
|
164
|
+
- lib/mavlink/log/messages/nav_controller_output.rb
|
165
|
+
- lib/mavlink/log/messages/param_request_list.rb
|
166
|
+
- lib/mavlink/log/messages/param_value.rb
|
167
|
+
- lib/mavlink/log/messages/raw_imu.rb
|
168
|
+
- lib/mavlink/log/messages/rc_channels_raw.rb
|
169
|
+
- lib/mavlink/log/messages/request_data_stream.rb
|
170
|
+
- lib/mavlink/log/messages/scaled_pressure.rb
|
171
|
+
- lib/mavlink/log/messages/servo_output_raw.rb
|
172
|
+
- lib/mavlink/log/messages/sys_status.rb
|
173
|
+
- lib/mavlink/log/messages/vfr_hud.rb
|
155
174
|
- lib/mavlink/log/version.rb
|
156
175
|
- mavlink-log.gemspec
|
157
176
|
- spec/data/delete-me-soon.tlog
|
@@ -160,7 +179,20 @@ files:
|
|
160
179
|
- spec/data/invalid/empty.file
|
161
180
|
- spec/data/invalid/spektrum/1.TLM
|
162
181
|
- spec/file_spec.rb
|
182
|
+
- spec/messages/attitude_spec.rb
|
183
|
+
- spec/messages/global_position_int_spec.rb
|
184
|
+
- spec/messages/gps_raw_int_spec.rb
|
185
|
+
- spec/messages/heart_beat_spec.rb
|
186
|
+
- spec/messages/param_value_spec.rb
|
187
|
+
- spec/messages/raw_imu_spec.rb
|
188
|
+
- spec/messages/rc_channels_raw_spec.rb
|
189
|
+
- spec/messages/sys_status_spec.rb
|
190
|
+
- spec/messages/vfr_hud_spec.rb
|
163
191
|
- spec/spec_helper.rb
|
192
|
+
- spec/support/shared_examples_for_message.rb
|
193
|
+
- spec/support/shared_examples_for_timed_message_micro.rb
|
194
|
+
- spec/support/shared_examples_for_timed_message_milli.rb
|
195
|
+
- spec/sys_status_spec.rb
|
164
196
|
homepage: http://github.com/code-lever/mavlink-log
|
165
197
|
licenses:
|
166
198
|
- MIT
|
@@ -192,4 +224,17 @@ test_files:
|
|
192
224
|
- spec/data/invalid/empty.file
|
193
225
|
- spec/data/invalid/spektrum/1.TLM
|
194
226
|
- spec/file_spec.rb
|
227
|
+
- spec/messages/attitude_spec.rb
|
228
|
+
- spec/messages/global_position_int_spec.rb
|
229
|
+
- spec/messages/gps_raw_int_spec.rb
|
230
|
+
- spec/messages/heart_beat_spec.rb
|
231
|
+
- spec/messages/param_value_spec.rb
|
232
|
+
- spec/messages/raw_imu_spec.rb
|
233
|
+
- spec/messages/rc_channels_raw_spec.rb
|
234
|
+
- spec/messages/sys_status_spec.rb
|
235
|
+
- spec/messages/vfr_hud_spec.rb
|
195
236
|
- spec/spec_helper.rb
|
237
|
+
- spec/support/shared_examples_for_message.rb
|
238
|
+
- spec/support/shared_examples_for_timed_message_micro.rb
|
239
|
+
- spec/support/shared_examples_for_timed_message_milli.rb
|
240
|
+
- spec/sys_status_spec.rb
|