pyxcp 0.21.10__cp39-cp39-win_amd64.whl → 0.22.23__cp39-cp39-win_amd64.whl
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/__init__.py +12 -20
- pyxcp/aml/EtasCANMonitoring.a2l +82 -83
- pyxcp/aml/XCP_Common.aml +0 -1
- pyxcp/aml/XCPonUSB.aml +1 -1
- pyxcp/aml/ifdata_CAN.a2l +0 -1
- pyxcp/aml/ifdata_Eth.a2l +0 -1
- pyxcp/aml/ifdata_Flx.a2l +0 -1
- pyxcp/aml/ifdata_SxI.a2l +0 -1
- pyxcp/aml/ifdata_USB.a2l +0 -1
- pyxcp/asam/types.py +4 -4
- pyxcp/asamkeydll.c +0 -1
- pyxcp/checksum.py +0 -1
- pyxcp/cmdline.py +32 -50
- pyxcp/config/__init__.py +1100 -0
- pyxcp/config/legacy.py +120 -0
- pyxcp/constants.py +12 -13
- pyxcp/cpp_ext/__init__.py +0 -0
- pyxcp/cpp_ext/bin.hpp +104 -0
- pyxcp/cpp_ext/blockmem.hpp +58 -0
- pyxcp/cpp_ext/cpp_ext.cp38-win_amd64.pyd +0 -0
- pyxcp/cpp_ext/cpp_ext.cp39-win_amd64.pyd +0 -0
- pyxcp/cpp_ext/daqlist.hpp +200 -0
- pyxcp/cpp_ext/event.hpp +67 -0
- pyxcp/cpp_ext/extension_wrapper.cpp +96 -0
- pyxcp/cpp_ext/helper.hpp +280 -0
- pyxcp/cpp_ext/mcobject.hpp +246 -0
- pyxcp/cpp_ext/tsqueue.hpp +46 -0
- pyxcp/daq_stim/__init__.py +228 -0
- pyxcp/daq_stim/optimize/__init__.py +67 -0
- pyxcp/daq_stim/optimize/binpacking.py +41 -0
- pyxcp/daq_stim/scheduler.cpp +28 -0
- pyxcp/daq_stim/scheduler.hpp +75 -0
- pyxcp/daq_stim/stim.cp38-win_amd64.pyd +0 -0
- pyxcp/daq_stim/stim.cp39-win_amd64.pyd +0 -0
- pyxcp/daq_stim/stim.cpp +13 -0
- pyxcp/daq_stim/stim.hpp +604 -0
- pyxcp/daq_stim/stim_wrapper.cpp +48 -0
- pyxcp/dllif.py +21 -18
- pyxcp/errormatrix.py +5 -3
- pyxcp/examples/conf_can.toml +4 -2
- pyxcp/examples/conf_can_vector.json +9 -9
- pyxcp/examples/conf_can_vector.toml +4 -2
- pyxcp/examples/conf_eth.toml +5 -2
- pyxcp/examples/conf_nixnet.json +18 -18
- pyxcp/examples/conf_sxi.json +7 -7
- pyxcp/examples/ex_arrow.py +109 -0
- pyxcp/examples/ex_csv.py +85 -0
- pyxcp/examples/ex_excel.py +95 -0
- pyxcp/examples/ex_mdf.py +124 -0
- pyxcp/examples/ex_sqlite.py +128 -0
- pyxcp/examples/run_daq.py +148 -0
- pyxcp/examples/xcp_policy.py +6 -7
- pyxcp/examples/xcp_read_benchmark.py +8 -6
- pyxcp/examples/xcp_skel.py +0 -2
- pyxcp/examples/xcp_unlock.py +1 -1
- pyxcp/examples/xcp_user_supplied_driver.py +1 -2
- pyxcp/examples/xcphello.py +6 -3
- pyxcp/examples/xcphello_recorder.py +4 -4
- pyxcp/master/__init__.py +1 -2
- pyxcp/master/errorhandler.py +107 -74
- pyxcp/master/master.py +201 -119
- pyxcp/py.typed +0 -0
- pyxcp/recorder/__init__.py +27 -6
- pyxcp/recorder/converter/__init__.py +37 -0
- pyxcp/recorder/lz4.c +129 -51
- pyxcp/recorder/lz4.h +45 -28
- pyxcp/recorder/lz4hc.c +560 -156
- pyxcp/recorder/lz4hc.h +1 -1
- pyxcp/recorder/mio.hpp +721 -767
- pyxcp/recorder/reader.hpp +139 -0
- pyxcp/recorder/reco.py +5 -8
- pyxcp/recorder/rekorder.cp38-win_amd64.pyd +0 -0
- pyxcp/recorder/rekorder.cp39-win_amd64.pyd +0 -0
- pyxcp/recorder/rekorder.cpp +18 -22
- pyxcp/recorder/rekorder.hpp +200 -587
- pyxcp/recorder/setup.py +11 -10
- pyxcp/recorder/test_reko.py +2 -3
- pyxcp/recorder/unfolder.hpp +1332 -0
- pyxcp/recorder/wrap.cpp +171 -9
- pyxcp/recorder/writer.hpp +302 -0
- pyxcp/scripts/pyxcp_probe_can_drivers.py +0 -2
- pyxcp/scripts/xcp_examples.py +64 -0
- pyxcp/scripts/xcp_fetch_a2l.py +15 -10
- pyxcp/scripts/xcp_id_scanner.py +2 -6
- pyxcp/scripts/xcp_info.py +101 -63
- pyxcp/scripts/xcp_profile.py +27 -0
- pyxcp/stim/__init__.py +0 -0
- pyxcp/tests/test_asam_types.py +2 -2
- pyxcp/tests/test_binpacking.py +186 -0
- pyxcp/tests/test_can.py +1132 -38
- pyxcp/tests/test_checksum.py +2 -1
- pyxcp/tests/test_daq.py +193 -0
- pyxcp/tests/test_frame_padding.py +6 -3
- pyxcp/tests/test_master.py +42 -31
- pyxcp/tests/test_transport.py +12 -12
- pyxcp/tests/test_utils.py +2 -5
- pyxcp/timing.py +0 -2
- pyxcp/transport/__init__.py +9 -9
- pyxcp/transport/base.py +149 -127
- pyxcp/transport/base_transport.hpp +0 -0
- pyxcp/transport/can.py +194 -167
- pyxcp/transport/eth.py +80 -82
- pyxcp/transport/sxi.py +106 -60
- pyxcp/transport/transport_wrapper.cpp +0 -0
- pyxcp/transport/usb_transport.py +65 -83
- pyxcp/types.py +69 -20
- pyxcp/utils.py +47 -16
- pyxcp/vector/map.py +1 -3
- {pyxcp-0.21.10.dist-info → pyxcp-0.22.23.dist-info}/METADATA +28 -23
- pyxcp-0.22.23.dist-info/RECORD +131 -0
- {pyxcp-0.21.10.dist-info → pyxcp-0.22.23.dist-info}/WHEEL +1 -1
- {pyxcp-0.21.10.dist-info → pyxcp-0.22.23.dist-info}/entry_points.txt +2 -0
- pyxcp/config.py +0 -57
- pyxcp/cxx/asynchiofactory.hpp +0 -24
- pyxcp/cxx/blocking_client.cpp +0 -44
- pyxcp/cxx/blocking_socket.cpp +0 -43
- pyxcp/cxx/blocking_socket.hpp +0 -558
- pyxcp/cxx/concurrent_queue.hpp +0 -60
- pyxcp/cxx/eth.hpp +0 -57
- pyxcp/cxx/exceptions.hpp +0 -30
- pyxcp/cxx/iasyncioservice.hpp +0 -31
- pyxcp/cxx/iresource.hpp +0 -17
- pyxcp/cxx/isocket.hpp +0 -22
- pyxcp/cxx/linux/epoll.cpp +0 -51
- pyxcp/cxx/linux/epoll.hpp +0 -87
- pyxcp/cxx/linux/lit_tester.cpp +0 -19
- pyxcp/cxx/linux/socket.hpp +0 -234
- pyxcp/cxx/linux/timeout.hpp +0 -81
- pyxcp/cxx/memoryblock.hpp +0 -42
- pyxcp/cxx/pool.hpp +0 -81
- pyxcp/cxx/poolmgr.cpp +0 -6
- pyxcp/cxx/poolmgr.hpp +0 -31
- pyxcp/cxx/test_queue.cpp +0 -69
- pyxcp/cxx/timestamp.hpp +0 -84
- pyxcp/cxx/utils.cpp +0 -38
- pyxcp/cxx/utils.hpp +0 -29
- pyxcp/cxx/win/iocp.cpp +0 -242
- pyxcp/cxx/win/iocp.hpp +0 -42
- pyxcp/cxx/win/perhandledata.hpp +0 -24
- pyxcp/cxx/win/periodata.hpp +0 -97
- pyxcp/cxx/win/socket.hpp +0 -185
- pyxcp/cxx/win/timeout.hpp +0 -83
- pyxcp/examples/conf_can.json +0 -20
- pyxcp/examples/conf_eth.json +0 -8
- pyxcp/logger.py +0 -67
- pyxcp/tests/test_config.py +0 -62
- pyxcp/transport/candriver/__init__.py +0 -2
- pyxcp/transport/candriver/pc_canalystii.py +0 -27
- pyxcp/transport/candriver/pc_etas.py +0 -25
- pyxcp/transport/candriver/pc_gsusb.py +0 -23
- pyxcp/transport/candriver/pc_iscan.py +0 -23
- pyxcp/transport/candriver/pc_ixxat.py +0 -27
- pyxcp/transport/candriver/pc_kvaser.py +0 -39
- pyxcp/transport/candriver/pc_neovi.py +0 -31
- pyxcp/transport/candriver/pc_nican.py +0 -23
- pyxcp/transport/candriver/pc_nixnet.py +0 -23
- pyxcp/transport/candriver/pc_pcan.py +0 -25
- pyxcp/transport/candriver/pc_seeed.py +0 -28
- pyxcp/transport/candriver/pc_serial.py +0 -27
- pyxcp/transport/candriver/pc_slcan.py +0 -29
- pyxcp/transport/candriver/pc_socketcan.py +0 -23
- pyxcp/transport/candriver/pc_systec.py +0 -29
- pyxcp/transport/candriver/pc_usb2can.py +0 -30
- pyxcp/transport/candriver/pc_vector.py +0 -34
- pyxcp/transport/candriver/python_can.py +0 -101
- pyxcp/transport/cxx_ext/CMakeLists.txt +0 -51
- pyxcp/transport/cxx_ext/setup.py +0 -49
- pyxcp/transport/cxx_ext/tests/test_basic_socket.cpp +0 -39
- pyxcp/transport/cxx_ext/tests/test_pool.cpp +0 -39
- pyxcp/transport/cxx_ext/tests/test_timestamp.cpp +0 -27
- pyxcp-0.21.10.dist-info/RECORD +0 -147
- rekorder.cp39-win_amd64.pyd +0 -0
- {pyxcp-0.21.10.dist-info/licenses → pyxcp-0.22.23.dist-info}/LICENSE +0 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
pyxcp/__init__.py,sha256=V3SXLv-pZNUllrYboyAoZk3eD9vuF4VXt4X0fPnENOw,548
|
|
2
|
+
pyxcp/aml/EtasCANMonitoring.a2l,sha256=EJYwe3Z3H24vyWAa6lUgcdKnQY8pwFxjyCN6ZU1ST8w,1509
|
|
3
|
+
pyxcp/aml/EtasCANMonitoring.aml,sha256=xl0DdyeiIaLW0mmmJNAyJS0CQdOLSxt9dxfgrdSlU8Y,2405
|
|
4
|
+
pyxcp/aml/ifdata_CAN.a2l,sha256=NCUnCUEEgRbZYSLGtUGwL2e7zJ8hrp0SbmLHGv8uY58,612
|
|
5
|
+
pyxcp/aml/ifdata_Eth.a2l,sha256=w4Vek0Xc5Rt7zroZztY0FEJTyVnk-E21wq_itxX2hI4,250
|
|
6
|
+
pyxcp/aml/ifdata_Flx.a2l,sha256=oXIIwl3DA9JCyVRGKaLEedauC0q4JoRWQly-qTiYAaw,1891
|
|
7
|
+
pyxcp/aml/ifdata_SxI.a2l,sha256=PPTZvyKKtp12qDiv9oHlW32ocPD7elJaOHklfg56r5E,316
|
|
8
|
+
pyxcp/aml/ifdata_USB.a2l,sha256=bN59aYL19CFr5EMwkoUZYLnH5uSubqGGNsg8dPYNDd0,3656
|
|
9
|
+
pyxcp/aml/XCP_Common.aml,sha256=CW9lgPw2V6qxtgZaT9wUGTP9FtaH6tse0_rzQ_Tcc7E,15445
|
|
10
|
+
pyxcp/aml/XCPonCAN.aml,sha256=WpWvKPZLDHEMaTUljCu6WidVkiLL8kmZ4VIZBoXQyl4,3849
|
|
11
|
+
pyxcp/aml/XCPonEth.aml,sha256=koFPs6hvInPrSSk6OHI1pF3Mq2bslT7TWBoTAjjYPWw,2247
|
|
12
|
+
pyxcp/aml/XCPonFlx.aml,sha256=Q3byhPQ1DvPFoCkX6ta4A9KPAXAiIDBbuKz3bVHbP8s,4760
|
|
13
|
+
pyxcp/aml/XCPonSxI.aml,sha256=sIHrBrvLHJkIcW77P7nVp17hTeKbEMRj3ssUsI7-Umw,3301
|
|
14
|
+
pyxcp/aml/XCPonUSB.aml,sha256=Xcu52ZckyuEX0v5rwYQxz8gJCAs4qyepXmd_bkCJVlA,4953
|
|
15
|
+
pyxcp/asam/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
|
+
pyxcp/asam/types.py,sha256=_gKcpBF5mon_SDWZBUW0PGBMcb37yrvhhEuk1wslg-s,2441
|
|
17
|
+
pyxcp/asamkeydll.c,sha256=dVEvU0S1kgIo62S0La-T8xHSw668LM_DYc_fiQ0No6g,2952
|
|
18
|
+
pyxcp/asamkeydll.sh,sha256=DC2NKUMwvi39OQgJ6514Chr4wc1LYbTmQHmMq9jAHHs,59
|
|
19
|
+
pyxcp/checksum.py,sha256=alze1JiZ2JmdRul9QzP_-fuAqJcNyYBbo35zBwEKqHk,11535
|
|
20
|
+
pyxcp/cmdline.py,sha256=na3ZbWQ-5ezsi1MrkuxMTCAXonUF3X6-LutoneyE3dU,1529
|
|
21
|
+
pyxcp/config/__init__.py,sha256=u9v-eUAJd8amEvkJsns5DCMhvYD3Lp3Ct0posmuqOec,41635
|
|
22
|
+
pyxcp/config/legacy.py,sha256=4QdDheX8DbBKv5JVT72_C_cjCgKvZmhN3tJ6hsvBEtI,5220
|
|
23
|
+
pyxcp/constants.py,sha256=9yGfujC0ImTYQWfn41wyw8pluJTSrhMGWIVeIZTgsLg,1160
|
|
24
|
+
pyxcp/cpp_ext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
+
pyxcp/cpp_ext/bin.hpp,sha256=PwJloZek21la-RBSda2Hc0u_6gID0sfTduPeplaAyR4,2561
|
|
26
|
+
pyxcp/cpp_ext/blockmem.hpp,sha256=ysaJwmTWGTfE54Outk3gJYOfAVFd_QaonBMtXLcXwCc,1242
|
|
27
|
+
pyxcp/cpp_ext/cpp_ext.cp38-win_amd64.pyd,sha256=cRafRoCE7udgdFWX5Yj_9ZDDaIAG1gfpX2eWumxUgig,279040
|
|
28
|
+
pyxcp/cpp_ext/cpp_ext.cp39-win_amd64.pyd,sha256=diNwWzCQm0i75EsOkLHG0VZ0pqnor3bHcQDyy5_1GhM,260096
|
|
29
|
+
pyxcp/cpp_ext/daqlist.hpp,sha256=5JEYQK96qac4ZsoMVnmVGsrH_4uuqbHwcNGiH4j5FAU,7167
|
|
30
|
+
pyxcp/cpp_ext/event.hpp,sha256=Z-1yxsEKsr81NnLVEWJ2ANA8FV7YsM7EbNxaw-elheE,1200
|
|
31
|
+
pyxcp/cpp_ext/extension_wrapper.cpp,sha256=-r1YYgJD4dJiiMeA0HEmIQQfsXrzDozLonCrbpKUXiA,4544
|
|
32
|
+
pyxcp/cpp_ext/helper.hpp,sha256=ONAsVupIqqmNDp8bgGWS0TfSYeCFkk3kwwZbbqsh0HQ,7813
|
|
33
|
+
pyxcp/cpp_ext/mcobject.hpp,sha256=A5GKcfjYMcfm3hfTQfFuS4JYNFTvfmzAcMXCe01GOs4,6429
|
|
34
|
+
pyxcp/cpp_ext/tsqueue.hpp,sha256=FWMemzXNgV5dQ7gYmTCzC0QYfgl0VI9JCybYelBcCHU,1026
|
|
35
|
+
pyxcp/daq_stim/__init__.py,sha256=OXit9yuI3Aresbnz1yGsOJ6OavL_LkeX8d5bMOMdCag,9404
|
|
36
|
+
pyxcp/daq_stim/optimize/__init__.py,sha256=FUWK0GkNpNT-sUlhibp7xa2aSYpm6Flh5yA2w2IOJqg,2520
|
|
37
|
+
pyxcp/daq_stim/optimize/binpacking.py,sha256=Iltho5diKlJG-ltbmx053U2vOFRlCISolXK61T14l_I,1257
|
|
38
|
+
pyxcp/daq_stim/scheduler.cpp,sha256=a7VK7kP2Hs8yMlcDAkXwJ0bH88lr_yz156sphcHS7Z4,715
|
|
39
|
+
pyxcp/daq_stim/scheduler.hpp,sha256=U_6tUbebmzX5vVZS0EFSgTaPsyxMg6yRXHG_aPWA0x4,1884
|
|
40
|
+
pyxcp/daq_stim/stim.cp38-win_amd64.pyd,sha256=YBtdP7RHlzQ-OwEmVK-VJYRktF5YdASMKGHiqYmhPfY,186880
|
|
41
|
+
pyxcp/daq_stim/stim.cp39-win_amd64.pyd,sha256=N1u0GASMkD4lWjT1q4uKHW8xBxe3rCQ4TGksf06niUE,181248
|
|
42
|
+
pyxcp/daq_stim/stim.cpp,sha256=F2OG67W4KKwTTiUCxm-9egIv3TLFdOkRunX6xf7YOtc,177
|
|
43
|
+
pyxcp/daq_stim/stim.hpp,sha256=U-uInRrA6OCdMl1l1SWbQ_KEPpnNYrWut924IvbW6R0,18508
|
|
44
|
+
pyxcp/daq_stim/stim_wrapper.cpp,sha256=5LbWkK86h_4mHd83dnwCU7BRvVYit8ijxBMT7pthtOE,1830
|
|
45
|
+
pyxcp/dllif.py,sha256=nXzD5toh_z9Zjj3x3trigURfwE98fYaL4RmUlI7FaqY,3308
|
|
46
|
+
pyxcp/errormatrix.py,sha256=iY3VlAem7pNfpK4scD_087wxMlLxNuidB7bbpiUiAyc,45464
|
|
47
|
+
pyxcp/examples/conf_can.toml,sha256=4o-M4xmh7pCzuQLfXnIOLIXqx5aZjMAZ6jtjYJ8hLBQ,370
|
|
48
|
+
pyxcp/examples/conf_can_user.toml,sha256=IJhcc60tKMDgNhviYtHr2OjEl_ID4CsfMKchDeMFdJs,314
|
|
49
|
+
pyxcp/examples/conf_can_vector.json,sha256=spux_wLX4EZdEpUqD2SU9-9uPDc2U1poeMaYo7QQT2M,249
|
|
50
|
+
pyxcp/examples/conf_can_vector.toml,sha256=VXkHgJ9OjSnaz4BpIKsYg53oSNsj9F0LrTSDh8vHJMk,262
|
|
51
|
+
pyxcp/examples/conf_eth.toml,sha256=BQE8UwZlBL4vNPQ_IDXVzrK9klFH9FhDCX68fXdSp_w,199
|
|
52
|
+
pyxcp/examples/conf_nixnet.json,sha256=BvXPrljPGzaRTNPch3K0XfU3KSBP1sVDDNP7yY850OQ,444
|
|
53
|
+
pyxcp/examples/conf_socket_can.toml,sha256=gTacQGm0p6fhPCMWC3ScLq9Xj-xJmNbjNXkjO4o7r8k,269
|
|
54
|
+
pyxcp/examples/conf_sxi.json,sha256=cXwNGoOpvqhdjXBQcE8lKgTs50wi9beosWKskZGJ-nI,158
|
|
55
|
+
pyxcp/examples/conf_sxi.toml,sha256=t-XsgRljcMdj0f3_CGRT60c77LeQPNbjIT17YxDK3Yg,125
|
|
56
|
+
pyxcp/examples/ex_arrow.py,sha256=HvY5Lc7rL87-FgTTcZSQJLjSiTdfjfjMLu0mMmLpW10,3020
|
|
57
|
+
pyxcp/examples/ex_csv.py,sha256=GNWQ3IatXj3Kg5MUX6p8tzJRUppGreON9dkrNiqdTtk,2461
|
|
58
|
+
pyxcp/examples/ex_excel.py,sha256=VpoqRTv-rHz-MnaFKt5f7MqDrK9OLYyRJvVWzCFsayc,2828
|
|
59
|
+
pyxcp/examples/ex_mdf.py,sha256=zfivlNkbbsfvwqsISttaoQk1R888r7UUtwSqocE60sU,3759
|
|
60
|
+
pyxcp/examples/ex_sqlite.py,sha256=ludD0EIziBhBNnC3MOrQTGs06cl7iNyL2yefwe53zNc,4268
|
|
61
|
+
pyxcp/examples/run_daq.py,sha256=kpy5aFKOFaQnwWmyE_--54NuDeaLEISQX8CKmuQEpHc,5007
|
|
62
|
+
pyxcp/examples/xcp_policy.py,sha256=io9tS2W-7PvR8ZzU203KolFrDp67eorUlwNWvA4kC5k,1921
|
|
63
|
+
pyxcp/examples/xcp_read_benchmark.py,sha256=zOG0Yrji10vA0vhHa27KK7zgc3JDpzXzXsFnIU4C_AM,956
|
|
64
|
+
pyxcp/examples/xcp_skel.py,sha256=YXLQC8nn8aAwYSVuBGhr1dvmdMBjmO1Ee1w3e5sy16s,1159
|
|
65
|
+
pyxcp/examples/xcp_unlock.py,sha256=5F7oW17MboxKO3REYrGyhYX4Oc0Dg1oD3EQ3fQXB2Is,690
|
|
66
|
+
pyxcp/examples/xcp_user_supplied_driver.py,sha256=bL-6HDvPjgRErvYVdaRL_Pg1GDxu02Jt_GG9LpXXP4c,1078
|
|
67
|
+
pyxcp/examples/xcphello.py,sha256=xbcWq8StRJyUZBLUvknsXv7VkEBD5SU0SJjlZTHsSzs,2630
|
|
68
|
+
pyxcp/examples/xcphello_recorder.py,sha256=QHWJsq5h5CI9t5qEmMSorZyzirTpoXz4nzuKTMzbZCA,3409
|
|
69
|
+
pyxcp/master/__init__.py,sha256=QQbkUJM1WQ-5p2MiNFYxLAmHhNsCQLzDp-S4aoOFxoA,318
|
|
70
|
+
pyxcp/master/errorhandler.py,sha256=U5QuvGRDM9kRNwY5kbkTOnthp19RHoXEGCsaBNiFTps,14973
|
|
71
|
+
pyxcp/master/master.py,sha256=mdsktxzkLABj0Rz011qJ3ifxDWiAP3M81cAQ7DN5lXc,76959
|
|
72
|
+
pyxcp/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
73
|
+
pyxcp/recorder/__init__.py,sha256=pg-cdOaoj-D-woFxFb2p6SpFTNTdpQEIknHdDaQ9ROE,2695
|
|
74
|
+
pyxcp/recorder/build_clang.cmd,sha256=JvFngSnb28XcBGXxC6MGrcOCGYfahOIvHpgRpqbA6HQ,175
|
|
75
|
+
pyxcp/recorder/build_clang.sh,sha256=zmU3nZxaNH1pxGWMyQ-S541TuVqxS00p3iPR9NUP4Ec,181
|
|
76
|
+
pyxcp/recorder/build_gcc.cmd,sha256=zj732DdvqDzGAFg7dvF83DUpf8Qf6rQ0cqEaID15Z80,238
|
|
77
|
+
pyxcp/recorder/build_gcc.sh,sha256=nCSh7G8xtxWtDNrMqNUxcjnm_CFpMeduIF0X-RSJtHA,211
|
|
78
|
+
pyxcp/recorder/build_gcc_arm.sh,sha256=jEo6Mgt_aVDL3nHtffecXOrN6gRsEoaA3S4pPrAzpCE,240
|
|
79
|
+
pyxcp/recorder/converter/__init__.py,sha256=avxsOiQJ-zrmQaS7qocp5yebAD-b5Lq4ehOzISUJuFw,700
|
|
80
|
+
pyxcp/recorder/lz4.c,sha256=rOy3JE2SsOXvJ8a9pgGEfGpbDJnJR03dSVej0CwPmjg,120974
|
|
81
|
+
pyxcp/recorder/lz4.h,sha256=Kz_2V6kvOunNHoPl9-EqxWDVCvYXbU0J-pkSnCeXubs,46483
|
|
82
|
+
pyxcp/recorder/lz4hc.c,sha256=E56iE5CQ6fhQIVi3qNpxiIIP2sTGeC80JtVPyhidV6Q,88870
|
|
83
|
+
pyxcp/recorder/lz4hc.h,sha256=dtxPbesyAongP7CK_pL0M2DL707iMm9jGKrl8hXXRNk,20592
|
|
84
|
+
pyxcp/recorder/mio.hpp,sha256=5ASJLKSEykH0deAQD5uak-_yAgd5p2n8t06315GSGrg,63346
|
|
85
|
+
pyxcp/recorder/reader.hpp,sha256=rr9XZ_ciL6eF2_xEqyt9XYNqTIze9ytAsnf8uYukO9U,5201
|
|
86
|
+
pyxcp/recorder/reco.py,sha256=6N6FIwfCEVMpi5dr3eUOQa1lowcg2LCnS_sy_-b-UiQ,8725
|
|
87
|
+
pyxcp/recorder/recorder.rst,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
88
|
+
pyxcp/recorder/rekorder.cp38-win_amd64.pyd,sha256=KOsfruA8xsAkhHjEUIctg4PAUPpSMhGcMnWTXxvzgh8,377856
|
|
89
|
+
pyxcp/recorder/rekorder.cp39-win_amd64.pyd,sha256=oPeJ5yQrV0-hamFjBBVLUdneZJqxJteGq7E22QqjfbA,364032
|
|
90
|
+
pyxcp/recorder/rekorder.cpp,sha256=U0LMyk8pZXx9emgS_WPVthvn_9IpgE7JGrh4kg-8CX4,1900
|
|
91
|
+
pyxcp/recorder/rekorder.hpp,sha256=sWvRch9bVt6mmgrFHp5mwWhap7HoFG4geeb7UqEIzio,7638
|
|
92
|
+
pyxcp/recorder/setup.py,sha256=_99XFPQAd5V4LcJaSGJwdnbxgxJ7kl8DEXfHsnKO1Yg,998
|
|
93
|
+
pyxcp/recorder/test_reko.py,sha256=M8lfKBmBUl-28IMVoD6lU5Bnorz7fYFOvcAjfVZxuXA,1014
|
|
94
|
+
pyxcp/recorder/unfolder.hpp,sha256=3gJKT2eMOZuT8o_M2NFLthdUIWd460vdwzlHaf-fQII,47998
|
|
95
|
+
pyxcp/recorder/wrap.cpp,sha256=S3frBevIrPE5m3kt_mXe9TDOwWPJFiVa7Rt9FGMCv2A,8909
|
|
96
|
+
pyxcp/recorder/writer.hpp,sha256=rNjtRTtJes5z-BzKR2K56P_Kvc9MEVQgycu8J0wKf1g,11284
|
|
97
|
+
pyxcp/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
98
|
+
pyxcp/scripts/pyxcp_probe_can_drivers.py,sha256=P_gscDTAofbSVA_Wd1GATrnyWGTf1-Dz_oPdlRFfjuk,567
|
|
99
|
+
pyxcp/scripts/xcp_examples.py,sha256=q2wNXHVZu4GjcIlZwp2j9Sqm5QH39Olro4BQaLoIqiM,2583
|
|
100
|
+
pyxcp/scripts/xcp_fetch_a2l.py,sha256=72818jdJiLsDuWWfkAPxekZ7fzRRz_A4RVSy06LQNe4,1239
|
|
101
|
+
pyxcp/scripts/xcp_id_scanner.py,sha256=2P53qrvM-rYFTBbbm7eAKyOxESkKrorieND-KoZZ9mo,421
|
|
102
|
+
pyxcp/scripts/xcp_info.py,sha256=pNb0h7bwAuUEUbCFRIWyHCrOcTU6ElQkFMAvqzjDJUs,4152
|
|
103
|
+
pyxcp/scripts/xcp_profile.py,sha256=ryJnx7cqQ40O05F3beuUEOthsiW_k9d_2wMf4Z9CWkc,615
|
|
104
|
+
pyxcp/stim/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
105
|
+
pyxcp/tests/test_asam_types.py,sha256=0M08q8dJIVx-rkUtFKTqUhhW9NkThYL83LW3d_yCols,587
|
|
106
|
+
pyxcp/tests/test_binpacking.py,sha256=kxLwYNzop775BkV68WXBoXVnLIuP0y4EKIW7u9niMKc,7623
|
|
107
|
+
pyxcp/tests/test_can.py,sha256=fLLATWZxZK3vG-jDwjkWSOCqzy1UmtdV304-3qD6kRQ,63996
|
|
108
|
+
pyxcp/tests/test_checksum.py,sha256=ZQ9-7bpKBLNKk1jxQ61AKAVUTWReOBYCZ8ikNo2jmII,1808
|
|
109
|
+
pyxcp/tests/test_daq.py,sha256=aSOYlm75BF6a-Av4-hWSyWKbV8Vzu_Ym2ugiE9UhRP0,5551
|
|
110
|
+
pyxcp/tests/test_frame_padding.py,sha256=b7D0oh_n33iFhi_FKav6LkA0smJB4vg5bTMKu-jIaf0,3205
|
|
111
|
+
pyxcp/tests/test_master.py,sha256=guDRWeOObUn52IydA0y3riB8W_6CInnzzeIiu-fjV3E,71422
|
|
112
|
+
pyxcp/tests/test_transport.py,sha256=Qn2VjNRfYCU6DH8olVSBUCqb0zdAM9GlTbVBM99YxFQ,1754
|
|
113
|
+
pyxcp/tests/test_utils.py,sha256=SrURAFc_6jtHng3PSZ5gpqXzVBVuPoMPB0YNvOvaIE0,880
|
|
114
|
+
pyxcp/timing.py,sha256=zE6qPqOuidg6saNt7_zmbQgufxL9Id6akVYhAtpweQc,1705
|
|
115
|
+
pyxcp/transport/__init__.py,sha256=31PaQLj76n5pXr68aJRWcYfrxEYWWgYoe9f_w3jZxsc,438
|
|
116
|
+
pyxcp/transport/base.py,sha256=uyCJF6Lznm4gIa_Jq5Pkp6JAT6H6hQuZwryZkLz3kVI,16337
|
|
117
|
+
pyxcp/transport/base_transport.hpp,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
118
|
+
pyxcp/transport/can.py,sha256=cQ8lrwBL7Ar0GSf48987TztR9wqYS_UnXUngzhaHXe0,14909
|
|
119
|
+
pyxcp/transport/eth.py,sha256=xPzN2oSALoPKJVvZpBljPSV1AxfpjRusOzymO-TD1Rw,8711
|
|
120
|
+
pyxcp/transport/sxi.py,sha256=vM8WZIKuu_dNuqkxZM_1n6iQkQCCzo4ykWpiG6ba8Fk,4695
|
|
121
|
+
pyxcp/transport/transport_wrapper.cpp,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
122
|
+
pyxcp/transport/usb_transport.py,sha256=JuYrwkWsUdibdVNA57LBEQT3a3ykOgWPdWcfqj96nDE,8343
|
|
123
|
+
pyxcp/types.py,sha256=hY4Bb3qT3ZoabGnSKLY6S84MvVyuOCxwVONfs2skx2Y,26043
|
|
124
|
+
pyxcp/utils.py,sha256=unlg0CoNwcWYfd-BE0hZJ93uhlAoW_nryv9tS_R3C44,2969
|
|
125
|
+
pyxcp/vector/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
126
|
+
pyxcp/vector/map.py,sha256=7Gnhvr79geMeqqGVIJPxODXGwABdNDinnqzhpooN5TE,2306
|
|
127
|
+
pyxcp-0.22.23.dist-info/entry_points.txt,sha256=2JbL-pWn9UxpBrS64aWiFFkq9x2A7y-dkrxYlfQqIJU,307
|
|
128
|
+
pyxcp-0.22.23.dist-info/LICENSE,sha256=fTqV5eBpeAZO0_jit8j4Ref9ikBSlHJ8xwj5TLg7gFk,7817
|
|
129
|
+
pyxcp-0.22.23.dist-info/METADATA,sha256=1E_6DzNfgDYZ1ok-YoAaXZYrhItROse3QrRAJhXSS6c,4088
|
|
130
|
+
pyxcp-0.22.23.dist-info/WHEEL,sha256=Hkd2GxahgaJo_PUXSn2Z_PVyVBw8DHa683MQcF0Lrhc,96
|
|
131
|
+
pyxcp-0.22.23.dist-info/RECORD,,
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
[console_scripts]
|
|
2
2
|
pyxcp-probe-can-drivers=pyxcp.scripts.pyxcp_probe_can_drivers:main
|
|
3
|
+
xcp-examples=pyxcp.scripts.xcp_examples:main
|
|
3
4
|
xcp-fetch-a2l=pyxcp.scripts.xcp_fetch_a2l:main
|
|
4
5
|
xcp-id-scanner=pyxcp.scripts.xcp_id_scanner:main
|
|
5
6
|
xcp-info=pyxcp.scripts.xcp_info:main
|
|
7
|
+
xcp-profile=pyxcp.scripts.xcp_profile:main
|
|
6
8
|
|
pyxcp/config.py
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python
|
|
2
|
-
# -*- coding: utf-8 -*-
|
|
3
|
-
import json
|
|
4
|
-
import pathlib
|
|
5
|
-
|
|
6
|
-
try:
|
|
7
|
-
import toml
|
|
8
|
-
except ImportError:
|
|
9
|
-
HAS_TOML = False
|
|
10
|
-
else:
|
|
11
|
-
HAS_TOML = True
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
def readConfiguration(conf):
|
|
15
|
-
"""Read a configuration file either in JSON or TOML format."""
|
|
16
|
-
if conf:
|
|
17
|
-
if isinstance(conf, dict):
|
|
18
|
-
return dict(conf)
|
|
19
|
-
pth = pathlib.Path(conf.name)
|
|
20
|
-
suffix = pth.suffix.lower()
|
|
21
|
-
if suffix == ".json":
|
|
22
|
-
reader = json
|
|
23
|
-
elif suffix == ".toml" and HAS_TOML:
|
|
24
|
-
reader = toml
|
|
25
|
-
else:
|
|
26
|
-
reader = None
|
|
27
|
-
if reader:
|
|
28
|
-
return reader.loads(conf.read())
|
|
29
|
-
else:
|
|
30
|
-
return {}
|
|
31
|
-
else:
|
|
32
|
-
return {}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
class Configuration:
|
|
36
|
-
""""""
|
|
37
|
-
|
|
38
|
-
def __init__(self, parameters, config):
|
|
39
|
-
self.parameters = parameters
|
|
40
|
-
self.config = config
|
|
41
|
-
for key, (tp, required, default) in self.parameters.items():
|
|
42
|
-
if key in self.config:
|
|
43
|
-
if not isinstance(self.config[key], tp):
|
|
44
|
-
raise TypeError(f"Parameter {key} requires {tp}")
|
|
45
|
-
else:
|
|
46
|
-
if required:
|
|
47
|
-
raise AttributeError(f"{key} must be specified in config!")
|
|
48
|
-
else:
|
|
49
|
-
self.config[key] = default
|
|
50
|
-
|
|
51
|
-
def get(self, key):
|
|
52
|
-
return self.config.get(key)
|
|
53
|
-
|
|
54
|
-
def __repr__(self):
|
|
55
|
-
return f"{self.config:s}"
|
|
56
|
-
|
|
57
|
-
__str__ = __repr__
|
pyxcp/cxx/asynchiofactory.hpp
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
#if !defined(__ASYNCHIOFACTORY_HPP)
|
|
2
|
-
#define __ASYNCHIOFACTORY_HPP
|
|
3
|
-
|
|
4
|
-
#include <memory>
|
|
5
|
-
|
|
6
|
-
#include "iasyncioservice.hpp"
|
|
7
|
-
|
|
8
|
-
#if defined(_WIN32)
|
|
9
|
-
#include "iocp.hpp"
|
|
10
|
-
#else
|
|
11
|
-
#include "epoll.hpp"
|
|
12
|
-
#endif
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
inline std::unique_ptr<IAsyncIoService> createAsyncIoService()
|
|
16
|
-
{
|
|
17
|
-
#if defined(_WIN32)
|
|
18
|
-
return std::make_unique<IOCP>();
|
|
19
|
-
#else
|
|
20
|
-
return std::make_unique<Epoll>();
|
|
21
|
-
#endif
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
#endif // __ASYNCHIOFACTORY_HPP
|
pyxcp/cxx/blocking_client.cpp
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
#include "blocking_socket.hpp"
|
|
4
|
-
|
|
5
|
-
#include <iomanip>
|
|
6
|
-
#include <iostream>
|
|
7
|
-
|
|
8
|
-
using std::cout;
|
|
9
|
-
using std::endl;
|
|
10
|
-
using std::setw;
|
|
11
|
-
using std::internal;
|
|
12
|
-
using std::fixed;
|
|
13
|
-
using std::setfill;
|
|
14
|
-
|
|
15
|
-
using namespace std;
|
|
16
|
-
|
|
17
|
-
std::array<char, 15> hellomsg {"hello world!!!"};
|
|
18
|
-
|
|
19
|
-
int main(void)
|
|
20
|
-
{
|
|
21
|
-
CAddress address;
|
|
22
|
-
auto sock = Socket {PF_INET, SOCK_STREAM, IPPROTO_TCP};
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
//sock.getaddrinfo(PF_INET, SOCK_STREAM, IPPROTO_TCP, "localhost", 50007, address, 0);
|
|
26
|
-
sock.getaddrinfo(PF_INET, SOCK_STREAM, IPPROTO_TCP, "192.168.168.100", 50007, address, 0);
|
|
27
|
-
sock.connect(address);
|
|
28
|
-
|
|
29
|
-
//auto opt_val = sock.get_option(SO_REUSEADDR, SOL_SOCKET);
|
|
30
|
-
auto opt_val = sock.get_option(SO_RCVBUF, SOL_SOCKET);
|
|
31
|
-
printf("before: %u\n", opt_val);
|
|
32
|
-
sock.set_option(SO_SNDBUF, SOL_SOCKET, 64 * 1024);
|
|
33
|
-
sock.set_option(SO_RCVBUF, SOL_SOCKET, 64 * 1024);
|
|
34
|
-
opt_val = sock.get_option(SO_RCVBUF, SOL_SOCKET);
|
|
35
|
-
printf("after: %u\n", opt_val);
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
sock.startReceiverThread();
|
|
39
|
-
//sock.getaddrinfo(PF_INET, SOCK_STREAM, IPPROTO_TCP, "google.de", 80, address, 0);
|
|
40
|
-
//printf("addr: %x", address.address);
|
|
41
|
-
// sock.shutdownReceiverThread();
|
|
42
|
-
sock.write(hellomsg);
|
|
43
|
-
Sleep(2000);
|
|
44
|
-
}
|
pyxcp/cxx/blocking_socket.cpp
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
#include "blocking_socket.hpp"
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
void * blockingReceiverThread(void * param) {
|
|
6
|
-
Socket * const socket = reinterpret_cast<Socket * const>(param);
|
|
7
|
-
std::array<char, 1024> buffer;
|
|
8
|
-
int nbytes;
|
|
9
|
-
|
|
10
|
-
printf("Starting thread... [%d]\n", socket->getSocket());
|
|
11
|
-
|
|
12
|
-
nbytes = socket->read(buffer, 128);
|
|
13
|
-
|
|
14
|
-
printf("[%d] bytes received.\n", nbytes);
|
|
15
|
-
if (nbytes) {
|
|
16
|
-
printf("data: [%s]\n", buffer.data());
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
printf("Exiting thread...\n");
|
|
20
|
-
|
|
21
|
-
return NULL;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
#include "blocking_socket.hpp"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
[[noreturn]] void blockingReceiverThread(Socket * socket) {
|
|
28
|
-
//Socket * const socket = reinterpret_cast<Socket * const>(param);
|
|
29
|
-
std::array<char, 1024> buffer;
|
|
30
|
-
int nbytes;
|
|
31
|
-
|
|
32
|
-
printf("Starting thread... [%d]\n", socket->getSocket());
|
|
33
|
-
|
|
34
|
-
while (true) {
|
|
35
|
-
nbytes = socket->read(buffer, 128);
|
|
36
|
-
|
|
37
|
-
printf("[%d] bytes received.\n", nbytes);
|
|
38
|
-
if (nbytes) {
|
|
39
|
-
printf("data: [%s]\n", buffer.data());
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
printf("Exiting thread...\n");
|
|
43
|
-
}
|