pyxcp 0.21.10__cp311-cp311-win_amd64.whl → 0.22.23__cp311-cp311-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.

Files changed (179) hide show
  1. pyxcp/__init__.py +12 -20
  2. pyxcp/aml/EtasCANMonitoring.a2l +82 -83
  3. pyxcp/aml/XCP_Common.aml +0 -1
  4. pyxcp/aml/XCPonUSB.aml +1 -1
  5. pyxcp/aml/ifdata_CAN.a2l +0 -1
  6. pyxcp/aml/ifdata_Eth.a2l +0 -1
  7. pyxcp/aml/ifdata_Flx.a2l +0 -1
  8. pyxcp/aml/ifdata_SxI.a2l +0 -1
  9. pyxcp/aml/ifdata_USB.a2l +0 -1
  10. pyxcp/asam/types.py +4 -4
  11. pyxcp/asamkeydll.c +0 -1
  12. pyxcp/checksum.py +0 -1
  13. pyxcp/cmdline.py +32 -50
  14. pyxcp/config/__init__.py +1100 -0
  15. pyxcp/config/legacy.py +120 -0
  16. pyxcp/constants.py +12 -13
  17. pyxcp/cpp_ext/__init__.py +0 -0
  18. pyxcp/cpp_ext/bin.hpp +104 -0
  19. pyxcp/cpp_ext/blockmem.hpp +58 -0
  20. pyxcp/cpp_ext/cpp_ext.cp310-win_amd64.pyd +0 -0
  21. pyxcp/cpp_ext/cpp_ext.cp311-win_amd64.pyd +0 -0
  22. pyxcp/cpp_ext/cpp_ext.cp38-win_amd64.pyd +0 -0
  23. pyxcp/cpp_ext/cpp_ext.cp39-win_amd64.pyd +0 -0
  24. pyxcp/cpp_ext/daqlist.hpp +200 -0
  25. pyxcp/cpp_ext/event.hpp +67 -0
  26. pyxcp/cpp_ext/extension_wrapper.cpp +96 -0
  27. pyxcp/cpp_ext/helper.hpp +280 -0
  28. pyxcp/cpp_ext/mcobject.hpp +246 -0
  29. pyxcp/cpp_ext/tsqueue.hpp +46 -0
  30. pyxcp/daq_stim/__init__.py +228 -0
  31. pyxcp/daq_stim/optimize/__init__.py +67 -0
  32. pyxcp/daq_stim/optimize/binpacking.py +41 -0
  33. pyxcp/daq_stim/scheduler.cpp +28 -0
  34. pyxcp/daq_stim/scheduler.hpp +75 -0
  35. pyxcp/daq_stim/stim.cp310-win_amd64.pyd +0 -0
  36. pyxcp/daq_stim/stim.cp311-win_amd64.pyd +0 -0
  37. pyxcp/daq_stim/stim.cp38-win_amd64.pyd +0 -0
  38. pyxcp/daq_stim/stim.cp39-win_amd64.pyd +0 -0
  39. pyxcp/daq_stim/stim.cpp +13 -0
  40. pyxcp/daq_stim/stim.hpp +604 -0
  41. pyxcp/daq_stim/stim_wrapper.cpp +48 -0
  42. pyxcp/dllif.py +21 -18
  43. pyxcp/errormatrix.py +5 -3
  44. pyxcp/examples/conf_can.toml +4 -2
  45. pyxcp/examples/conf_can_vector.json +9 -9
  46. pyxcp/examples/conf_can_vector.toml +4 -2
  47. pyxcp/examples/conf_eth.toml +5 -2
  48. pyxcp/examples/conf_nixnet.json +18 -18
  49. pyxcp/examples/conf_sxi.json +7 -7
  50. pyxcp/examples/ex_arrow.py +109 -0
  51. pyxcp/examples/ex_csv.py +85 -0
  52. pyxcp/examples/ex_excel.py +95 -0
  53. pyxcp/examples/ex_mdf.py +124 -0
  54. pyxcp/examples/ex_sqlite.py +128 -0
  55. pyxcp/examples/run_daq.py +148 -0
  56. pyxcp/examples/xcp_policy.py +6 -7
  57. pyxcp/examples/xcp_read_benchmark.py +8 -6
  58. pyxcp/examples/xcp_skel.py +0 -2
  59. pyxcp/examples/xcp_unlock.py +1 -1
  60. pyxcp/examples/xcp_user_supplied_driver.py +1 -2
  61. pyxcp/examples/xcphello.py +6 -3
  62. pyxcp/examples/xcphello_recorder.py +4 -4
  63. pyxcp/master/__init__.py +1 -2
  64. pyxcp/master/errorhandler.py +107 -74
  65. pyxcp/master/master.py +201 -119
  66. pyxcp/py.typed +0 -0
  67. pyxcp/recorder/__init__.py +27 -6
  68. pyxcp/recorder/converter/__init__.py +37 -0
  69. pyxcp/recorder/lz4.c +129 -51
  70. pyxcp/recorder/lz4.h +45 -28
  71. pyxcp/recorder/lz4hc.c +560 -156
  72. pyxcp/recorder/lz4hc.h +1 -1
  73. pyxcp/recorder/mio.hpp +721 -767
  74. pyxcp/recorder/reader.hpp +139 -0
  75. pyxcp/recorder/reco.py +5 -8
  76. pyxcp/recorder/rekorder.cp310-win_amd64.pyd +0 -0
  77. pyxcp/recorder/rekorder.cp311-win_amd64.pyd +0 -0
  78. pyxcp/recorder/rekorder.cp38-win_amd64.pyd +0 -0
  79. pyxcp/recorder/rekorder.cp39-win_amd64.pyd +0 -0
  80. pyxcp/recorder/rekorder.cpp +18 -22
  81. pyxcp/recorder/rekorder.hpp +200 -587
  82. pyxcp/recorder/setup.py +11 -10
  83. pyxcp/recorder/test_reko.py +2 -3
  84. pyxcp/recorder/unfolder.hpp +1332 -0
  85. pyxcp/recorder/wrap.cpp +171 -9
  86. pyxcp/recorder/writer.hpp +302 -0
  87. pyxcp/scripts/pyxcp_probe_can_drivers.py +0 -2
  88. pyxcp/scripts/xcp_examples.py +64 -0
  89. pyxcp/scripts/xcp_fetch_a2l.py +15 -10
  90. pyxcp/scripts/xcp_id_scanner.py +2 -6
  91. pyxcp/scripts/xcp_info.py +101 -63
  92. pyxcp/scripts/xcp_profile.py +27 -0
  93. pyxcp/stim/__init__.py +0 -0
  94. pyxcp/tests/test_asam_types.py +2 -2
  95. pyxcp/tests/test_binpacking.py +186 -0
  96. pyxcp/tests/test_can.py +1132 -38
  97. pyxcp/tests/test_checksum.py +2 -1
  98. pyxcp/tests/test_daq.py +193 -0
  99. pyxcp/tests/test_frame_padding.py +6 -3
  100. pyxcp/tests/test_master.py +42 -31
  101. pyxcp/tests/test_transport.py +12 -12
  102. pyxcp/tests/test_utils.py +2 -5
  103. pyxcp/timing.py +0 -2
  104. pyxcp/transport/__init__.py +9 -9
  105. pyxcp/transport/base.py +149 -127
  106. pyxcp/transport/base_transport.hpp +0 -0
  107. pyxcp/transport/can.py +194 -167
  108. pyxcp/transport/eth.py +80 -82
  109. pyxcp/transport/sxi.py +106 -60
  110. pyxcp/transport/transport_wrapper.cpp +0 -0
  111. pyxcp/transport/usb_transport.py +65 -83
  112. pyxcp/types.py +69 -20
  113. pyxcp/utils.py +47 -16
  114. pyxcp/vector/map.py +1 -3
  115. {pyxcp-0.21.10.dist-info → pyxcp-0.22.23.dist-info}/METADATA +28 -23
  116. pyxcp-0.22.23.dist-info/RECORD +137 -0
  117. {pyxcp-0.21.10.dist-info → pyxcp-0.22.23.dist-info}/WHEEL +1 -1
  118. {pyxcp-0.21.10.dist-info → pyxcp-0.22.23.dist-info}/entry_points.txt +2 -0
  119. pyxcp/config.py +0 -57
  120. pyxcp/cxx/asynchiofactory.hpp +0 -24
  121. pyxcp/cxx/blocking_client.cpp +0 -44
  122. pyxcp/cxx/blocking_socket.cpp +0 -43
  123. pyxcp/cxx/blocking_socket.hpp +0 -558
  124. pyxcp/cxx/concurrent_queue.hpp +0 -60
  125. pyxcp/cxx/eth.hpp +0 -57
  126. pyxcp/cxx/exceptions.hpp +0 -30
  127. pyxcp/cxx/iasyncioservice.hpp +0 -31
  128. pyxcp/cxx/iresource.hpp +0 -17
  129. pyxcp/cxx/isocket.hpp +0 -22
  130. pyxcp/cxx/linux/epoll.cpp +0 -51
  131. pyxcp/cxx/linux/epoll.hpp +0 -87
  132. pyxcp/cxx/linux/lit_tester.cpp +0 -19
  133. pyxcp/cxx/linux/socket.hpp +0 -234
  134. pyxcp/cxx/linux/timeout.hpp +0 -81
  135. pyxcp/cxx/memoryblock.hpp +0 -42
  136. pyxcp/cxx/pool.hpp +0 -81
  137. pyxcp/cxx/poolmgr.cpp +0 -6
  138. pyxcp/cxx/poolmgr.hpp +0 -31
  139. pyxcp/cxx/test_queue.cpp +0 -69
  140. pyxcp/cxx/timestamp.hpp +0 -84
  141. pyxcp/cxx/utils.cpp +0 -38
  142. pyxcp/cxx/utils.hpp +0 -29
  143. pyxcp/cxx/win/iocp.cpp +0 -242
  144. pyxcp/cxx/win/iocp.hpp +0 -42
  145. pyxcp/cxx/win/perhandledata.hpp +0 -24
  146. pyxcp/cxx/win/periodata.hpp +0 -97
  147. pyxcp/cxx/win/socket.hpp +0 -185
  148. pyxcp/cxx/win/timeout.hpp +0 -83
  149. pyxcp/examples/conf_can.json +0 -20
  150. pyxcp/examples/conf_eth.json +0 -8
  151. pyxcp/logger.py +0 -67
  152. pyxcp/tests/test_config.py +0 -62
  153. pyxcp/transport/candriver/__init__.py +0 -2
  154. pyxcp/transport/candriver/pc_canalystii.py +0 -27
  155. pyxcp/transport/candriver/pc_etas.py +0 -25
  156. pyxcp/transport/candriver/pc_gsusb.py +0 -23
  157. pyxcp/transport/candriver/pc_iscan.py +0 -23
  158. pyxcp/transport/candriver/pc_ixxat.py +0 -27
  159. pyxcp/transport/candriver/pc_kvaser.py +0 -39
  160. pyxcp/transport/candriver/pc_neovi.py +0 -31
  161. pyxcp/transport/candriver/pc_nican.py +0 -23
  162. pyxcp/transport/candriver/pc_nixnet.py +0 -23
  163. pyxcp/transport/candriver/pc_pcan.py +0 -25
  164. pyxcp/transport/candriver/pc_seeed.py +0 -28
  165. pyxcp/transport/candriver/pc_serial.py +0 -27
  166. pyxcp/transport/candriver/pc_slcan.py +0 -29
  167. pyxcp/transport/candriver/pc_socketcan.py +0 -23
  168. pyxcp/transport/candriver/pc_systec.py +0 -29
  169. pyxcp/transport/candriver/pc_usb2can.py +0 -30
  170. pyxcp/transport/candriver/pc_vector.py +0 -34
  171. pyxcp/transport/candriver/python_can.py +0 -101
  172. pyxcp/transport/cxx_ext/CMakeLists.txt +0 -51
  173. pyxcp/transport/cxx_ext/setup.py +0 -49
  174. pyxcp/transport/cxx_ext/tests/test_basic_socket.cpp +0 -39
  175. pyxcp/transport/cxx_ext/tests/test_pool.cpp +0 -39
  176. pyxcp/transport/cxx_ext/tests/test_timestamp.cpp +0 -27
  177. pyxcp-0.21.10.dist-info/RECORD +0 -147
  178. rekorder.cp311-win_amd64.pyd +0 -0
  179. {pyxcp-0.21.10.dist-info/licenses → pyxcp-0.22.23.dist-info}/LICENSE +0 -0
@@ -0,0 +1,137 @@
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.cp310-win_amd64.pyd,sha256=yCj8PLbgIuWiN7UA5rNjNc1qVpVxzks8E-bXUd5QAZ8,279040
28
+ pyxcp/cpp_ext/cpp_ext.cp311-win_amd64.pyd,sha256=ZavOT2v6R7Z-esjptYd1adsfjZ1ikEY5rmlGOeRKISw,281600
29
+ pyxcp/cpp_ext/cpp_ext.cp38-win_amd64.pyd,sha256=cRafRoCE7udgdFWX5Yj_9ZDDaIAG1gfpX2eWumxUgig,279040
30
+ pyxcp/cpp_ext/cpp_ext.cp39-win_amd64.pyd,sha256=diNwWzCQm0i75EsOkLHG0VZ0pqnor3bHcQDyy5_1GhM,260096
31
+ pyxcp/cpp_ext/daqlist.hpp,sha256=5JEYQK96qac4ZsoMVnmVGsrH_4uuqbHwcNGiH4j5FAU,7167
32
+ pyxcp/cpp_ext/event.hpp,sha256=Z-1yxsEKsr81NnLVEWJ2ANA8FV7YsM7EbNxaw-elheE,1200
33
+ pyxcp/cpp_ext/extension_wrapper.cpp,sha256=-r1YYgJD4dJiiMeA0HEmIQQfsXrzDozLonCrbpKUXiA,4544
34
+ pyxcp/cpp_ext/helper.hpp,sha256=ONAsVupIqqmNDp8bgGWS0TfSYeCFkk3kwwZbbqsh0HQ,7813
35
+ pyxcp/cpp_ext/mcobject.hpp,sha256=A5GKcfjYMcfm3hfTQfFuS4JYNFTvfmzAcMXCe01GOs4,6429
36
+ pyxcp/cpp_ext/tsqueue.hpp,sha256=FWMemzXNgV5dQ7gYmTCzC0QYfgl0VI9JCybYelBcCHU,1026
37
+ pyxcp/daq_stim/__init__.py,sha256=OXit9yuI3Aresbnz1yGsOJ6OavL_LkeX8d5bMOMdCag,9404
38
+ pyxcp/daq_stim/optimize/__init__.py,sha256=FUWK0GkNpNT-sUlhibp7xa2aSYpm6Flh5yA2w2IOJqg,2520
39
+ pyxcp/daq_stim/optimize/binpacking.py,sha256=Iltho5diKlJG-ltbmx053U2vOFRlCISolXK61T14l_I,1257
40
+ pyxcp/daq_stim/scheduler.cpp,sha256=a7VK7kP2Hs8yMlcDAkXwJ0bH88lr_yz156sphcHS7Z4,715
41
+ pyxcp/daq_stim/scheduler.hpp,sha256=U_6tUbebmzX5vVZS0EFSgTaPsyxMg6yRXHG_aPWA0x4,1884
42
+ pyxcp/daq_stim/stim.cp310-win_amd64.pyd,sha256=TwmMXXgHYOh-aVi-yKGAm8Z3ONjR_v8Y5vYUIcPowtY,186880
43
+ pyxcp/daq_stim/stim.cp311-win_amd64.pyd,sha256=TwscdDCpX2qGKWWstzFCWAAabzveu9ngHSIeyvmu7Q4,189440
44
+ pyxcp/daq_stim/stim.cp38-win_amd64.pyd,sha256=YBtdP7RHlzQ-OwEmVK-VJYRktF5YdASMKGHiqYmhPfY,186880
45
+ pyxcp/daq_stim/stim.cp39-win_amd64.pyd,sha256=N1u0GASMkD4lWjT1q4uKHW8xBxe3rCQ4TGksf06niUE,181248
46
+ pyxcp/daq_stim/stim.cpp,sha256=F2OG67W4KKwTTiUCxm-9egIv3TLFdOkRunX6xf7YOtc,177
47
+ pyxcp/daq_stim/stim.hpp,sha256=U-uInRrA6OCdMl1l1SWbQ_KEPpnNYrWut924IvbW6R0,18508
48
+ pyxcp/daq_stim/stim_wrapper.cpp,sha256=5LbWkK86h_4mHd83dnwCU7BRvVYit8ijxBMT7pthtOE,1830
49
+ pyxcp/dllif.py,sha256=nXzD5toh_z9Zjj3x3trigURfwE98fYaL4RmUlI7FaqY,3308
50
+ pyxcp/errormatrix.py,sha256=iY3VlAem7pNfpK4scD_087wxMlLxNuidB7bbpiUiAyc,45464
51
+ pyxcp/examples/conf_can.toml,sha256=4o-M4xmh7pCzuQLfXnIOLIXqx5aZjMAZ6jtjYJ8hLBQ,370
52
+ pyxcp/examples/conf_can_user.toml,sha256=IJhcc60tKMDgNhviYtHr2OjEl_ID4CsfMKchDeMFdJs,314
53
+ pyxcp/examples/conf_can_vector.json,sha256=spux_wLX4EZdEpUqD2SU9-9uPDc2U1poeMaYo7QQT2M,249
54
+ pyxcp/examples/conf_can_vector.toml,sha256=VXkHgJ9OjSnaz4BpIKsYg53oSNsj9F0LrTSDh8vHJMk,262
55
+ pyxcp/examples/conf_eth.toml,sha256=BQE8UwZlBL4vNPQ_IDXVzrK9klFH9FhDCX68fXdSp_w,199
56
+ pyxcp/examples/conf_nixnet.json,sha256=BvXPrljPGzaRTNPch3K0XfU3KSBP1sVDDNP7yY850OQ,444
57
+ pyxcp/examples/conf_socket_can.toml,sha256=gTacQGm0p6fhPCMWC3ScLq9Xj-xJmNbjNXkjO4o7r8k,269
58
+ pyxcp/examples/conf_sxi.json,sha256=cXwNGoOpvqhdjXBQcE8lKgTs50wi9beosWKskZGJ-nI,158
59
+ pyxcp/examples/conf_sxi.toml,sha256=t-XsgRljcMdj0f3_CGRT60c77LeQPNbjIT17YxDK3Yg,125
60
+ pyxcp/examples/ex_arrow.py,sha256=HvY5Lc7rL87-FgTTcZSQJLjSiTdfjfjMLu0mMmLpW10,3020
61
+ pyxcp/examples/ex_csv.py,sha256=GNWQ3IatXj3Kg5MUX6p8tzJRUppGreON9dkrNiqdTtk,2461
62
+ pyxcp/examples/ex_excel.py,sha256=VpoqRTv-rHz-MnaFKt5f7MqDrK9OLYyRJvVWzCFsayc,2828
63
+ pyxcp/examples/ex_mdf.py,sha256=zfivlNkbbsfvwqsISttaoQk1R888r7UUtwSqocE60sU,3759
64
+ pyxcp/examples/ex_sqlite.py,sha256=ludD0EIziBhBNnC3MOrQTGs06cl7iNyL2yefwe53zNc,4268
65
+ pyxcp/examples/run_daq.py,sha256=kpy5aFKOFaQnwWmyE_--54NuDeaLEISQX8CKmuQEpHc,5007
66
+ pyxcp/examples/xcp_policy.py,sha256=io9tS2W-7PvR8ZzU203KolFrDp67eorUlwNWvA4kC5k,1921
67
+ pyxcp/examples/xcp_read_benchmark.py,sha256=zOG0Yrji10vA0vhHa27KK7zgc3JDpzXzXsFnIU4C_AM,956
68
+ pyxcp/examples/xcp_skel.py,sha256=YXLQC8nn8aAwYSVuBGhr1dvmdMBjmO1Ee1w3e5sy16s,1159
69
+ pyxcp/examples/xcp_unlock.py,sha256=5F7oW17MboxKO3REYrGyhYX4Oc0Dg1oD3EQ3fQXB2Is,690
70
+ pyxcp/examples/xcp_user_supplied_driver.py,sha256=bL-6HDvPjgRErvYVdaRL_Pg1GDxu02Jt_GG9LpXXP4c,1078
71
+ pyxcp/examples/xcphello.py,sha256=xbcWq8StRJyUZBLUvknsXv7VkEBD5SU0SJjlZTHsSzs,2630
72
+ pyxcp/examples/xcphello_recorder.py,sha256=QHWJsq5h5CI9t5qEmMSorZyzirTpoXz4nzuKTMzbZCA,3409
73
+ pyxcp/master/__init__.py,sha256=QQbkUJM1WQ-5p2MiNFYxLAmHhNsCQLzDp-S4aoOFxoA,318
74
+ pyxcp/master/errorhandler.py,sha256=U5QuvGRDM9kRNwY5kbkTOnthp19RHoXEGCsaBNiFTps,14973
75
+ pyxcp/master/master.py,sha256=mdsktxzkLABj0Rz011qJ3ifxDWiAP3M81cAQ7DN5lXc,76959
76
+ pyxcp/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
+ pyxcp/recorder/__init__.py,sha256=pg-cdOaoj-D-woFxFb2p6SpFTNTdpQEIknHdDaQ9ROE,2695
78
+ pyxcp/recorder/build_clang.cmd,sha256=JvFngSnb28XcBGXxC6MGrcOCGYfahOIvHpgRpqbA6HQ,175
79
+ pyxcp/recorder/build_clang.sh,sha256=zmU3nZxaNH1pxGWMyQ-S541TuVqxS00p3iPR9NUP4Ec,181
80
+ pyxcp/recorder/build_gcc.cmd,sha256=zj732DdvqDzGAFg7dvF83DUpf8Qf6rQ0cqEaID15Z80,238
81
+ pyxcp/recorder/build_gcc.sh,sha256=nCSh7G8xtxWtDNrMqNUxcjnm_CFpMeduIF0X-RSJtHA,211
82
+ pyxcp/recorder/build_gcc_arm.sh,sha256=jEo6Mgt_aVDL3nHtffecXOrN6gRsEoaA3S4pPrAzpCE,240
83
+ pyxcp/recorder/converter/__init__.py,sha256=avxsOiQJ-zrmQaS7qocp5yebAD-b5Lq4ehOzISUJuFw,700
84
+ pyxcp/recorder/lz4.c,sha256=rOy3JE2SsOXvJ8a9pgGEfGpbDJnJR03dSVej0CwPmjg,120974
85
+ pyxcp/recorder/lz4.h,sha256=Kz_2V6kvOunNHoPl9-EqxWDVCvYXbU0J-pkSnCeXubs,46483
86
+ pyxcp/recorder/lz4hc.c,sha256=E56iE5CQ6fhQIVi3qNpxiIIP2sTGeC80JtVPyhidV6Q,88870
87
+ pyxcp/recorder/lz4hc.h,sha256=dtxPbesyAongP7CK_pL0M2DL707iMm9jGKrl8hXXRNk,20592
88
+ pyxcp/recorder/mio.hpp,sha256=5ASJLKSEykH0deAQD5uak-_yAgd5p2n8t06315GSGrg,63346
89
+ pyxcp/recorder/reader.hpp,sha256=rr9XZ_ciL6eF2_xEqyt9XYNqTIze9ytAsnf8uYukO9U,5201
90
+ pyxcp/recorder/reco.py,sha256=6N6FIwfCEVMpi5dr3eUOQa1lowcg2LCnS_sy_-b-UiQ,8725
91
+ pyxcp/recorder/recorder.rst,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
+ pyxcp/recorder/rekorder.cp310-win_amd64.pyd,sha256=EmaWdZr0m2M5WMRGBCxmdAvODxK4fAnZwmF3XyPnfeY,377856
93
+ pyxcp/recorder/rekorder.cp311-win_amd64.pyd,sha256=ye3WTAvlLqTj-tBx16vwUEtfK1gjKcKk57Rq0lWitFo,380416
94
+ pyxcp/recorder/rekorder.cp38-win_amd64.pyd,sha256=KOsfruA8xsAkhHjEUIctg4PAUPpSMhGcMnWTXxvzgh8,377856
95
+ pyxcp/recorder/rekorder.cp39-win_amd64.pyd,sha256=oPeJ5yQrV0-hamFjBBVLUdneZJqxJteGq7E22QqjfbA,364032
96
+ pyxcp/recorder/rekorder.cpp,sha256=U0LMyk8pZXx9emgS_WPVthvn_9IpgE7JGrh4kg-8CX4,1900
97
+ pyxcp/recorder/rekorder.hpp,sha256=sWvRch9bVt6mmgrFHp5mwWhap7HoFG4geeb7UqEIzio,7638
98
+ pyxcp/recorder/setup.py,sha256=_99XFPQAd5V4LcJaSGJwdnbxgxJ7kl8DEXfHsnKO1Yg,998
99
+ pyxcp/recorder/test_reko.py,sha256=M8lfKBmBUl-28IMVoD6lU5Bnorz7fYFOvcAjfVZxuXA,1014
100
+ pyxcp/recorder/unfolder.hpp,sha256=3gJKT2eMOZuT8o_M2NFLthdUIWd460vdwzlHaf-fQII,47998
101
+ pyxcp/recorder/wrap.cpp,sha256=S3frBevIrPE5m3kt_mXe9TDOwWPJFiVa7Rt9FGMCv2A,8909
102
+ pyxcp/recorder/writer.hpp,sha256=rNjtRTtJes5z-BzKR2K56P_Kvc9MEVQgycu8J0wKf1g,11284
103
+ pyxcp/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
+ pyxcp/scripts/pyxcp_probe_can_drivers.py,sha256=P_gscDTAofbSVA_Wd1GATrnyWGTf1-Dz_oPdlRFfjuk,567
105
+ pyxcp/scripts/xcp_examples.py,sha256=q2wNXHVZu4GjcIlZwp2j9Sqm5QH39Olro4BQaLoIqiM,2583
106
+ pyxcp/scripts/xcp_fetch_a2l.py,sha256=72818jdJiLsDuWWfkAPxekZ7fzRRz_A4RVSy06LQNe4,1239
107
+ pyxcp/scripts/xcp_id_scanner.py,sha256=2P53qrvM-rYFTBbbm7eAKyOxESkKrorieND-KoZZ9mo,421
108
+ pyxcp/scripts/xcp_info.py,sha256=pNb0h7bwAuUEUbCFRIWyHCrOcTU6ElQkFMAvqzjDJUs,4152
109
+ pyxcp/scripts/xcp_profile.py,sha256=ryJnx7cqQ40O05F3beuUEOthsiW_k9d_2wMf4Z9CWkc,615
110
+ pyxcp/stim/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
111
+ pyxcp/tests/test_asam_types.py,sha256=0M08q8dJIVx-rkUtFKTqUhhW9NkThYL83LW3d_yCols,587
112
+ pyxcp/tests/test_binpacking.py,sha256=kxLwYNzop775BkV68WXBoXVnLIuP0y4EKIW7u9niMKc,7623
113
+ pyxcp/tests/test_can.py,sha256=fLLATWZxZK3vG-jDwjkWSOCqzy1UmtdV304-3qD6kRQ,63996
114
+ pyxcp/tests/test_checksum.py,sha256=ZQ9-7bpKBLNKk1jxQ61AKAVUTWReOBYCZ8ikNo2jmII,1808
115
+ pyxcp/tests/test_daq.py,sha256=aSOYlm75BF6a-Av4-hWSyWKbV8Vzu_Ym2ugiE9UhRP0,5551
116
+ pyxcp/tests/test_frame_padding.py,sha256=b7D0oh_n33iFhi_FKav6LkA0smJB4vg5bTMKu-jIaf0,3205
117
+ pyxcp/tests/test_master.py,sha256=guDRWeOObUn52IydA0y3riB8W_6CInnzzeIiu-fjV3E,71422
118
+ pyxcp/tests/test_transport.py,sha256=Qn2VjNRfYCU6DH8olVSBUCqb0zdAM9GlTbVBM99YxFQ,1754
119
+ pyxcp/tests/test_utils.py,sha256=SrURAFc_6jtHng3PSZ5gpqXzVBVuPoMPB0YNvOvaIE0,880
120
+ pyxcp/timing.py,sha256=zE6qPqOuidg6saNt7_zmbQgufxL9Id6akVYhAtpweQc,1705
121
+ pyxcp/transport/__init__.py,sha256=31PaQLj76n5pXr68aJRWcYfrxEYWWgYoe9f_w3jZxsc,438
122
+ pyxcp/transport/base.py,sha256=uyCJF6Lznm4gIa_Jq5Pkp6JAT6H6hQuZwryZkLz3kVI,16337
123
+ pyxcp/transport/base_transport.hpp,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
124
+ pyxcp/transport/can.py,sha256=cQ8lrwBL7Ar0GSf48987TztR9wqYS_UnXUngzhaHXe0,14909
125
+ pyxcp/transport/eth.py,sha256=xPzN2oSALoPKJVvZpBljPSV1AxfpjRusOzymO-TD1Rw,8711
126
+ pyxcp/transport/sxi.py,sha256=vM8WZIKuu_dNuqkxZM_1n6iQkQCCzo4ykWpiG6ba8Fk,4695
127
+ pyxcp/transport/transport_wrapper.cpp,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
+ pyxcp/transport/usb_transport.py,sha256=JuYrwkWsUdibdVNA57LBEQT3a3ykOgWPdWcfqj96nDE,8343
129
+ pyxcp/types.py,sha256=hY4Bb3qT3ZoabGnSKLY6S84MvVyuOCxwVONfs2skx2Y,26043
130
+ pyxcp/utils.py,sha256=unlg0CoNwcWYfd-BE0hZJ93uhlAoW_nryv9tS_R3C44,2969
131
+ pyxcp/vector/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
132
+ pyxcp/vector/map.py,sha256=7Gnhvr79geMeqqGVIJPxODXGwABdNDinnqzhpooN5TE,2306
133
+ pyxcp-0.22.23.dist-info/entry_points.txt,sha256=2JbL-pWn9UxpBrS64aWiFFkq9x2A7y-dkrxYlfQqIJU,307
134
+ pyxcp-0.22.23.dist-info/LICENSE,sha256=fTqV5eBpeAZO0_jit8j4Ref9ikBSlHJ8xwj5TLg7gFk,7817
135
+ pyxcp-0.22.23.dist-info/METADATA,sha256=1E_6DzNfgDYZ1ok-YoAaXZYrhItROse3QrRAJhXSS6c,4088
136
+ pyxcp-0.22.23.dist-info/WHEEL,sha256=n3g3Tr2YV6me3FFXedNkHR60jH48Lz9fadlpSPtgLFw,98
137
+ pyxcp-0.22.23.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: pdm-pep517 1.1.4
2
+ Generator: poetry-core 2.0.1
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp311-cp311-win_amd64
@@ -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__
@@ -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
@@ -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
- }
@@ -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
- }