INSTINCT Code Coverage Report


Directory: src/
File: Nodes/DataProvider/Protocol/UartSensor.cpp
Date: 2025-11-25 23:34:18
Exec Total Coverage
Lines: 10 65 15.4%
Functions: 1 4 25.0%
Branches: 4 38 10.5%

Line Branch Exec Source
1 // This file is part of INSTINCT, the INS Toolkit for Integrated
2 // Navigation Concepts and Training by the Institute of Navigation of
3 // the University of Stuttgart, Germany.
4 //
5 // This Source Code Form is subject to the terms of the Mozilla Public
6 // License, v. 2.0. If a copy of the MPL was not distributed with this
7 // file, You can obtain one at https://mozilla.org/MPL/2.0/.
8
9 #include "UartSensor.hpp"
10
11 #include "util/Logger.hpp"
12
13 ✗ [[nodiscard]] json NAV::UartSensor::save() const
14 {
15 LOG_TRACE("called");
16
17 ✗ json j;
18
19 ✗ j["sensorPort"] = _sensorPort;
20 ✗ j["sensorBaudrate"] = static_cast<size_t>(sensorBaudrate());
21
22 ✗ return j;
23 ✗ }
24
25 ✗ void NAV::UartSensor::restore(json const& j)
26 {
27 LOG_TRACE("called");
28
29 ✗ if (j.contains("sensorPort"))
30 {
31 ✗ j.at("sensorPort").get_to(_sensorPort);
32 }
33 ✗ if (j.contains("sensorBaudrate"))
34 {
35 ✗ size_t baudrate = 0;
36 ✗ j.at("sensorBaudrate").get_to(baudrate);
37 ✗ _selectedBaudrate = baudrate2Selection(static_cast<Baudrate>(baudrate));
38 }
39 ✗ }
40
41 ✗ NAV::UartSensor::Baudrate NAV::UartSensor::sensorBaudrate() const
42 {
43 ✗ switch (_selectedBaudrate)
44 {
45 ✗ case 0:
46 ✗ return BAUDRATE_FASTEST;
47 break;
48 ✗ case 1:
49 ✗ return BAUDRATE_9600;
50 break;
51 ✗ case 2:
52 ✗ return BAUDRATE_19200;
53 break;
54 ✗ case 3:
55 ✗ return BAUDRATE_38400;
56 break;
57 ✗ case 4:
58 ✗ return BAUDRATE_57600;
59 break;
60 ✗ case 5:
61 ✗ return BAUDRATE_115200;
62 break;
63 ✗ case 6:
64 ✗ return BAUDRATE_128000;
65 break;
66 ✗ case 7:
67 ✗ return BAUDRATE_230400;
68 break;
69 ✗ case 8:
70 ✗ return BAUDRATE_460800;
71 break;
72 ✗ case 9:
73 ✗ return BAUDRATE_921600;
74 break;
75 ✗ case 10:
76 ✗ return BAUDRATE_2000000;
77 break;
78 ✗ default:
79 ✗ return BAUDRATE_FASTEST;
80 }
81 }
82
83 570 int NAV::UartSensor::baudrate2Selection(Baudrate baud)
84 {
85
4/12
✗ Branch 0 not taken.
✓ Branch 1 taken 228 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 114 times.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 114 times.
✓ Branch 10 taken 114 times.
✗ Branch 11 not taken.
570 switch (baud)
86 {
87 ✗ case BAUDRATE_FASTEST:
88 ✗ return 0;
89 228 case BAUDRATE_9600:
90 228 return 1;
91 ✗ case BAUDRATE_19200:
92 ✗ return 2;
93 ✗ case BAUDRATE_38400:
94 ✗ return 3;
95 ✗ case BAUDRATE_57600:
96 ✗ return 4;
97 114 case BAUDRATE_115200:
98 114 return 5;
99 ✗ case BAUDRATE_128000:
100 ✗ return 6;
101 ✗ case BAUDRATE_230400:
102 ✗ return 7;
103 ✗ case BAUDRATE_460800:
104 ✗ return 8;
105 114 case BAUDRATE_921600:
106 114 return 9;
107 114 case BAUDRATE_2000000:
108 114 return 10;
109 }
110 ✗ return 0;
111 }
112