pyxcp 0.23.6__tar.gz → 0.23.8__tar.gz
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.
Potentially problematic release.
This version of pyxcp might be problematic. Click here for more details.
- {pyxcp-0.23.6 → pyxcp-0.23.8}/CMakeLists.txt +1 -1
- {pyxcp-0.23.6 → pyxcp-0.23.8}/PKG-INFO +2 -2
- {pyxcp-0.23.6 → pyxcp-0.23.8}/build_ext.py +14 -16
- {pyxcp-0.23.6 → pyxcp-0.23.8}/docs/README.rst +1 -1
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyproject.toml +1 -1
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/__init__.py +1 -1
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/examples/run_daq.py +3 -2
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/unfolder.hpp +16 -41
- {pyxcp-0.23.6 → pyxcp-0.23.8}/LICENSE +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/aml/EtasCANMonitoring.a2l +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/aml/EtasCANMonitoring.aml +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/aml/XCP_Common.aml +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/aml/XCPonCAN.aml +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/aml/XCPonEth.aml +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/aml/XCPonFlx.aml +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/aml/XCPonSxI.aml +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/aml/XCPonUSB.aml +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/aml/ifdata_CAN.a2l +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/aml/ifdata_Eth.a2l +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/aml/ifdata_Flx.a2l +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/aml/ifdata_SxI.a2l +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/aml/ifdata_USB.a2l +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/asam/__init__.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/asam/types.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/asamkeydll.c +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/asamkeydll.sh +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/checksum.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/cmdline.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/config/__init__.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/config/legacy.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/constants.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/cpp_ext/__init__.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/cpp_ext/bin.hpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/cpp_ext/blockmem.hpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/cpp_ext/daqlist.hpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/cpp_ext/event.hpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/cpp_ext/extension_wrapper.cpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/cpp_ext/helper.hpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/cpp_ext/mcobject.hpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/cpp_ext/tsqueue.hpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/daq_stim/__init__.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/daq_stim/optimize/__init__.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/daq_stim/optimize/binpacking.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/daq_stim/scheduler.cpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/daq_stim/scheduler.hpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/daq_stim/stim.cpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/daq_stim/stim.hpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/daq_stim/stim_wrapper.cpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/dllif.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/errormatrix.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/examples/conf_can.toml +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/examples/conf_can_user.toml +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/examples/conf_can_vector.json +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/examples/conf_can_vector.toml +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/examples/conf_eth.toml +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/examples/conf_nixnet.json +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/examples/conf_socket_can.toml +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/examples/conf_sxi.json +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/examples/conf_sxi.toml +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/examples/xcp_policy.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/examples/xcp_read_benchmark.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/examples/xcp_skel.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/examples/xcp_unlock.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/examples/xcp_user_supplied_driver.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/examples/xcphello.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/examples/xcphello_recorder.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/master/__init__.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/master/errorhandler.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/master/master.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/py.typed +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/__init__.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/build_clang.cmd +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/build_clang.sh +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/build_gcc.cmd +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/build_gcc.sh +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/build_gcc_arm.sh +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/converter/__init__.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/lz4.c +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/lz4.h +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/lz4hc.c +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/lz4hc.h +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/mio.hpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/reader.hpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/reco.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/recorder.rst +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/rekorder.cpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/rekorder.hpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/setup.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/test_reko.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/wrap.cpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/recorder/writer.hpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/scripts/__init__.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/scripts/pyxcp_probe_can_drivers.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/scripts/xcp_examples.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/scripts/xcp_fetch_a2l.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/scripts/xcp_id_scanner.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/scripts/xcp_info.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/scripts/xcp_profile.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/scripts/xmraw_converter.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/stim/__init__.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/tests/test_asam_types.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/tests/test_binpacking.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/tests/test_can.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/tests/test_checksum.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/tests/test_daq.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/tests/test_daq_opt.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/tests/test_frame_padding.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/tests/test_master.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/tests/test_transport.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/tests/test_utils.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/timing.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/transport/__init__.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/transport/base.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/transport/base_transport.hpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/transport/can.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/transport/eth.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/transport/sxi.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/transport/transport_wrapper.cpp +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/transport/usb_transport.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/types.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/utils.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/vector/__init__.py +0 -0
- {pyxcp-0.23.6 → pyxcp-0.23.8}/pyxcp/vector/map.py +0 -0
|
@@ -123,4 +123,4 @@ ENDIF()
|
|
|
123
123
|
install(TARGETS rekorder LIBRARY DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/pyxcp/recorder)
|
|
124
124
|
install(TARGETS cpp_ext LIBRARY DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/pyxcp/cpp_ext)
|
|
125
125
|
install(TARGETS stim LIBRARY DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/pyxcp/daq_stim)
|
|
126
|
-
|
|
126
|
+
install(TARGETS asamkeydll RUNTIME DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/pyxcp)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: pyxcp
|
|
3
|
-
Version: 0.23.
|
|
3
|
+
Version: 0.23.8
|
|
4
4
|
Summary: Universal Calibration Protocol for Python
|
|
5
5
|
License: LGPLv3
|
|
6
6
|
Keywords: automotive,ecu,xcp,asam,autosar
|
|
@@ -39,7 +39,7 @@ Description-Content-Type: text/x-rst
|
|
|
39
39
|
Readme
|
|
40
40
|
======
|
|
41
41
|
|
|
42
|
-
.. image:: pyxcp_social.
|
|
42
|
+
.. image:: pyxcp_social.svg
|
|
43
43
|
:align: center
|
|
44
44
|
|
|
45
45
|
Reliable Python tooling for the ASAM MCD-1 XCP protocol (measurement,
|
|
@@ -107,22 +107,20 @@ def build_extension(debug: bool = False, use_temp_dir: bool = False) -> None:
|
|
|
107
107
|
debug = debug or get_env_bool("BUILD_DEBUG")
|
|
108
108
|
|
|
109
109
|
cfg = "Debug" if debug else "Release"
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
if py_cfg["libdir"]:
|
|
125
|
-
cmake_args.append(f"-DPython3_LIBRARY={str(Path(py_cfg['libdir']) / Path(py_cfg['library']))}")
|
|
110
|
+
bits, linkage = platform.architecture()
|
|
111
|
+
print(f"Bits: {bits!r} Linkage: {linkage!r} Build-Type: {cfg!r}")
|
|
112
|
+
|
|
113
|
+
if bits == "32bit" and linkage == "ELF":
|
|
114
|
+
cmake_args = []
|
|
115
|
+
else:
|
|
116
|
+
py_cfg = get_py_config()
|
|
117
|
+
cmake_args = [
|
|
118
|
+
f"-DPython3_EXECUTABLE={py_cfg['exe']}",
|
|
119
|
+
f"-DPython3_INCLUDE_DIR={py_cfg['include']}",
|
|
120
|
+
f"-DCMAKE_BUILD_TYPE={cfg}", # not used on MSVC, but no harm
|
|
121
|
+
]
|
|
122
|
+
if py_cfg["libdir"]:
|
|
123
|
+
cmake_args.append(f"-DPython3_LIBRARY={str(Path(py_cfg['libdir']) / Path(py_cfg['library']))}")
|
|
126
124
|
|
|
127
125
|
build_args = ["--config Release", "--verbose"]
|
|
128
126
|
# cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 /path/to/src
|
|
@@ -38,7 +38,7 @@ dynamic = ["license", "readme", "authors", "requires-python", "description", "cl
|
|
|
38
38
|
[tool.poetry]
|
|
39
39
|
authors = ["Christoph Schueler <cpu.gems@googlemail.com>"]
|
|
40
40
|
name = "pyxcp"
|
|
41
|
-
version = "0.23.
|
|
41
|
+
version = "0.23.8"
|
|
42
42
|
readme = "docs/README.rst"
|
|
43
43
|
description = "Universal Calibration Protocol for Python"
|
|
44
44
|
keywords = ["automotive", "ecu", "xcp", "asam", "autosar"]
|
|
@@ -130,7 +130,7 @@ else:
|
|
|
130
130
|
]
|
|
131
131
|
|
|
132
132
|
daq_parser = DaqToCsv(DAQ_LISTS) # Record to CSV file(s).
|
|
133
|
-
# daq_parser = DaqRecorder(DAQ_LISTS, "
|
|
133
|
+
# daq_parser = DaqRecorder(DAQ_LISTS, "run_daq_02092025_01", 4) # Record to ".xmraw" file.
|
|
134
134
|
|
|
135
135
|
with ap.run(policy=daq_parser) as x:
|
|
136
136
|
try:
|
|
@@ -149,7 +149,8 @@ with ap.run(policy=daq_parser) as x:
|
|
|
149
149
|
print("start DAQ lists.")
|
|
150
150
|
daq_parser.start() # Start DAQ lists.
|
|
151
151
|
|
|
152
|
-
time.sleep(2.0 * 60.0
|
|
152
|
+
time.sleep(2.0 * 60.0)
|
|
153
|
+
# time.sleep(2.0 * 60.0 * 60.0) # Run for 15 minutes.
|
|
153
154
|
|
|
154
155
|
print("Stop DAQ....")
|
|
155
156
|
daq_parser.stop() # Stop DAQ lists.
|
|
@@ -1142,38 +1142,30 @@ class DaqRecorderPolicy : public DAQPolicyBase {
|
|
|
1142
1142
|
class DaqTimeTracker {
|
|
1143
1143
|
public:
|
|
1144
1144
|
|
|
1145
|
-
DaqTimeTracker(std::uint64_t overflow_value) : m_overflow_value(overflow_value), m_overflow_counter(0ULL), m_previous_timestamp(0ULL) {
|
|
1145
|
+
DaqTimeTracker(std::uint64_t overflow_value) : m_overflow_value(overflow_value), m_overflow_counter(0ULL), m_previous_timestamp(0ULL) {
|
|
1146
|
+
m_ts_base_set=false;
|
|
1147
|
+
m_ts0_base=0ULL; m_ts1_base=0ULL;
|
|
1148
|
+
//std::cout << "\tOverflow value: " << overflow_value << "\n";
|
|
1149
|
+
}
|
|
1146
1150
|
|
|
1147
|
-
|
|
1148
|
-
return m_previous_timestamp;
|
|
1149
|
-
}
|
|
1150
|
-
|
|
1151
|
-
void set_previous_timestamp(std::uint64_t timestamp) noexcept {
|
|
1152
|
-
m_previous_timestamp = timestamp;
|
|
1153
|
-
}
|
|
1154
|
-
|
|
1155
|
-
void inc_overflow_counter() noexcept {
|
|
1156
|
-
m_overflow_counter++;
|
|
1157
|
-
}
|
|
1151
|
+
std::pair<std::uint64_t,std::uint64_t> normalize(std::uint64_t ts0, std::uint64_t ts1) noexcept {
|
|
1158
1152
|
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1153
|
+
if (m_previous_timestamp > ts1) {
|
|
1154
|
+
m_overflow_counter++;
|
|
1155
|
+
}
|
|
1156
|
+
m_previous_timestamp = ts1;
|
|
1162
1157
|
|
|
1163
|
-
auto get_value() const noexcept {
|
|
1164
|
-
return m_overflow_value * m_overflow_counter;
|
|
1165
|
-
}
|
|
1166
|
-
|
|
1167
|
-
public:
|
|
1168
|
-
std::pair<std::uint64_t,std::uint64_t> normalize(std::uint64_t ts0, std::uint64_t ts1) noexcept {
|
|
1169
1158
|
if (!m_ts_base_set) {
|
|
1170
1159
|
m_ts0_base = ts0;
|
|
1171
1160
|
m_ts1_base = ts1;
|
|
1172
1161
|
m_ts_base_set = true;
|
|
1162
|
+
// std::cout << "\tSet ts0: " << ts0 << " ts1:" << ts1 << "\n";
|
|
1173
1163
|
}
|
|
1174
|
-
|
|
1164
|
+
// std::cout << "\t\tts0: " << ts0 << " Base: " << m_ts0_base << " ts1: " << ts1 << " Base: " << m_ts1_base << "\n";
|
|
1165
|
+
return {ts0 - m_ts0_base, (ts1 - m_ts1_base) + (m_overflow_value * m_overflow_counter) };
|
|
1175
1166
|
}
|
|
1176
1167
|
private:
|
|
1168
|
+
|
|
1177
1169
|
std::uint64_t m_overflow_value{};
|
|
1178
1170
|
std::uint64_t m_overflow_counter{};
|
|
1179
1171
|
std::uint64_t m_previous_timestamp{};
|
|
@@ -1211,19 +1203,11 @@ class DaqOnlinePolicy : public DAQPolicyBase {
|
|
|
1211
1203
|
auto result = m_decoder->feed(timestamp, payload);
|
|
1212
1204
|
if (result) {
|
|
1213
1205
|
const auto& [daq_list, ts0, ts1, meas] = *result;
|
|
1214
|
-
|
|
1215
1206
|
auto& overflow = m_overflows[daq_list];
|
|
1216
1207
|
|
|
1217
1208
|
auto [norm_ts0, norm_ts1] = overflow.normalize(ts0, ts1);
|
|
1218
1209
|
|
|
1219
|
-
|
|
1220
|
-
overflow.inc_overflow_counter();
|
|
1221
|
-
}
|
|
1222
|
-
|
|
1223
|
-
on_daq_list(daq_list, norm_ts0, norm_ts1 + overflow.get_value(), meas);
|
|
1224
|
-
|
|
1225
|
-
overflow.set_previous_timestamp(norm_ts1);
|
|
1226
|
-
|
|
1210
|
+
on_daq_list(daq_list, norm_ts0, norm_ts1, meas);
|
|
1227
1211
|
}
|
|
1228
1212
|
}
|
|
1229
1213
|
|
|
@@ -1296,20 +1280,11 @@ class XcpLogFileDecoder {
|
|
|
1296
1280
|
auto result = m_decoder->feed(timestamp, str_data);
|
|
1297
1281
|
if (result) {
|
|
1298
1282
|
const auto& [daq_list, ts0, ts1, meas] = *result;
|
|
1299
|
-
|
|
1300
1283
|
auto& overflow = m_overflows[daq_list];
|
|
1301
1284
|
|
|
1302
1285
|
auto [norm_ts0, norm_ts1] = overflow.normalize(ts0, ts1);
|
|
1303
1286
|
|
|
1304
|
-
|
|
1305
|
-
overflow.inc_overflow_counter();
|
|
1306
|
-
// Maybe on debug-level?
|
|
1307
|
-
// std::cout << "Overflow detected, counter: " << overflow.get_overflow_counter() << " " << overflow.get_previous_timestamp() << " " << ts1 << std::endl;
|
|
1308
|
-
}
|
|
1309
|
-
|
|
1310
|
-
on_daq_list(daq_list, norm_ts0, norm_ts1 + overflow.get_value(), meas);
|
|
1311
|
-
|
|
1312
|
-
overflow.set_previous_timestamp(norm_ts1);
|
|
1287
|
+
on_daq_list(daq_list, norm_ts0, norm_ts1, meas);
|
|
1313
1288
|
}
|
|
1314
1289
|
}
|
|
1315
1290
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|