Skip to content

Commit 6f65d7e

Browse files
committed
update MTIE, TDEV analyzer results for plotting
1 parent 680ea98 commit 6f65d7e

File tree

6 files changed

+129
-54
lines changed

6 files changed

+129
-54
lines changed

src/vse_sync_pp/analyzers/analyzer.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -432,6 +432,8 @@ def explain(self, data):
432432
'timestamp': self._timestamp_from_dec(data.iloc[0].timestamp),
433433
'duration': data.iloc[-1].timestamp - data.iloc[0].timestamp,
434434
'tdev': self._statistics(self._samples, 'ns'),
435+
'tdev_taus': self._taus.tolist(),
436+
'tdev_samples': self._samples.tolist(),
435437
}
436438
return analysis
437439

@@ -473,5 +475,7 @@ def explain(self, data):
473475
'timestamp': self._timestamp_from_dec(data.iloc[0].timestamp),
474476
'duration': data.iloc[-1].timestamp - data.iloc[0].timestamp,
475477
'mtie': self._statistics(self._samples, 'ns'),
478+
'mtie_taus': self._taus.tolist(),
479+
'mtie_samples': self._samples.tolist(),
476480
}
477481
return analysis

src/vse_sync_pp/common.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import json
99
from decimal import Decimal
10+
import numpy
1011

1112

1213
def open_input(filename, encoding='utf-8', **kwargs):
@@ -20,11 +21,15 @@ def open_input(filename, encoding='utf-8', **kwargs):
2021

2122

2223
class JsonEncoder(json.JSONEncoder):
23-
"""A JSON encoder accepting :class:`Decimal` values"""
24+
"""A JSON encoder accepting :class:`Decimal` values
25+
and arrays `numpy.ndarray` values
26+
"""
2427
def default(self, o):
2528
"""Return a commonly serializable value from `o`"""
2629
if isinstance(o, Decimal):
2730
return float(o)
31+
if isinstance(o, numpy.ndarray):
32+
return o.tolist()
2833
return super().default(o)
2934

3035

tests/vse_sync_pp/analyzers/test_gnss.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,8 @@ class TestMaxTimeIntervalErrorAnalyzer(TestCase, metaclass=AnalyzerTestBuilder):
318318
'stddev': 0,
319319
'variance': 0,
320320
},
321+
'mtie_samples': [0.],
322+
'mtie_taus': [1.],
321323
},
322324
},
323325
{
@@ -357,6 +359,8 @@ class TestMaxTimeIntervalErrorAnalyzer(TestCase, metaclass=AnalyzerTestBuilder):
357359
'stddev': 0,
358360
'variance': 0,
359361
},
362+
'mtie_samples': [0.],
363+
'mtie_taus': [1.],
360364
},
361365
},
362366
{
@@ -396,6 +400,8 @@ class TestMaxTimeIntervalErrorAnalyzer(TestCase, metaclass=AnalyzerTestBuilder):
396400
'stddev': 0,
397401
'variance': 0,
398402
},
403+
'mtie_samples': [0.],
404+
'mtie_taus': [1.],
399405
},
400406
},
401407
{
@@ -435,6 +441,8 @@ class TestMaxTimeIntervalErrorAnalyzer(TestCase, metaclass=AnalyzerTestBuilder):
435441
'stddev': 0,
436442
'variance': 0,
437443
},
444+
'mtie_samples': [0.],
445+
'mtie_taus': [1.],
438446
},
439447
},
440448
)
@@ -526,6 +534,8 @@ class TestTimeDeviationAnalyzer(TestCase, metaclass=AnalyzerTestBuilder):
526534
'stddev': 0,
527535
'variance': 0,
528536
},
537+
'tdev_samples': [0.],
538+
'tdev_taus': [1.],
529539
},
530540
},
531541
{
@@ -573,6 +583,8 @@ class TestTimeDeviationAnalyzer(TestCase, metaclass=AnalyzerTestBuilder):
573583
'stddev': 0,
574584
'variance': 0,
575585
},
586+
'tdev_samples': [0.],
587+
'tdev_taus': [1.],
576588
},
577589
},
578590
{
@@ -620,6 +632,8 @@ class TestTimeDeviationAnalyzer(TestCase, metaclass=AnalyzerTestBuilder):
620632
'stddev': 0,
621633
'variance': 0,
622634
},
635+
'tdev_samples': [0.],
636+
'tdev_taus': [1.],
623637
},
624638
},
625639
{
@@ -667,6 +681,8 @@ class TestTimeDeviationAnalyzer(TestCase, metaclass=AnalyzerTestBuilder):
667681
'stddev': 0,
668682
'variance': 0,
669683
},
684+
'tdev_samples': [0.],
685+
'tdev_taus': [1.],
670686
},
671687
},
672688
)

tests/vse_sync_pp/analyzers/test_phc2sys.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,8 @@ class TestMaxTimeIntervalErrorAnalyzer(TestCase, metaclass=AnalyzerTestBuilder):
297297
'stddev': 0,
298298
'variance': 0,
299299
},
300+
'mtie_samples': [0.],
301+
'mtie_taus': [1.],
300302
},
301303
},
302304
{
@@ -336,6 +338,8 @@ class TestMaxTimeIntervalErrorAnalyzer(TestCase, metaclass=AnalyzerTestBuilder):
336338
'stddev': 0,
337339
'variance': 0,
338340
},
341+
'mtie_samples': [0.],
342+
'mtie_taus': [1.],
339343
},
340344
},
341345
{
@@ -375,6 +379,8 @@ class TestMaxTimeIntervalErrorAnalyzer(TestCase, metaclass=AnalyzerTestBuilder):
375379
'stddev': 0,
376380
'variance': 0,
377381
},
382+
'mtie_samples': [0.],
383+
'mtie_taus': [1.],
378384
},
379385
},
380386
{
@@ -414,6 +420,8 @@ class TestMaxTimeIntervalErrorAnalyzer(TestCase, metaclass=AnalyzerTestBuilder):
414420
'stddev': 0,
415421
'variance': 0,
416422
},
423+
'mtie_samples': [0.],
424+
'mtie_taus': [1.],
417425
},
418426
},
419427
)
@@ -505,6 +513,8 @@ class TestTimeDeviationAnalyzer(TestCase, metaclass=AnalyzerTestBuilder):
505513
'stddev': 0,
506514
'variance': 0,
507515
},
516+
'tdev_samples': [0.],
517+
'tdev_taus': [1.],
508518
},
509519
},
510520
{
@@ -552,6 +562,8 @@ class TestTimeDeviationAnalyzer(TestCase, metaclass=AnalyzerTestBuilder):
552562
'stddev': 0,
553563
'variance': 0,
554564
},
565+
'tdev_samples': [0.],
566+
'tdev_taus': [1.],
555567
},
556568
},
557569
{
@@ -599,6 +611,8 @@ class TestTimeDeviationAnalyzer(TestCase, metaclass=AnalyzerTestBuilder):
599611
'stddev': 0,
600612
'variance': 0,
601613
},
614+
'tdev_samples': [0.],
615+
'tdev_taus': [1.],
602616
},
603617
},
604618
{
@@ -646,6 +660,8 @@ class TestTimeDeviationAnalyzer(TestCase, metaclass=AnalyzerTestBuilder):
646660
'stddev': 0,
647661
'variance': 0,
648662
},
663+
'tdev_samples': [0.],
664+
'tdev_taus': [1.],
649665
},
650666
},
651667
)

0 commit comments

Comments
 (0)