pyxcp 0.22.16__cp39-cp39-win_amd64.whl → 0.22.17__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 +1 -1
- pyxcp/config/__init__.py +66 -67
- pyxcp/cpp_ext/cpp_ext.cp38-win_amd64.pyd +0 -0
- pyxcp/cpp_ext/cpp_ext.cp39-win_amd64.pyd +0 -0
- pyxcp/daq_stim/stim.cp38-win_amd64.pyd +0 -0
- pyxcp/daq_stim/stim.cp39-win_amd64.pyd +0 -0
- pyxcp/master/master.py +0 -2
- pyxcp/recorder/rekorder.cp38-win_amd64.pyd +0 -0
- pyxcp/recorder/rekorder.cp39-win_amd64.pyd +0 -0
- pyxcp/transport/base.py +2 -1
- {pyxcp-0.22.16.dist-info → pyxcp-0.22.17.dist-info}/METADATA +1 -1
- {pyxcp-0.22.16.dist-info → pyxcp-0.22.17.dist-info}/RECORD +15 -15
- {pyxcp-0.22.16.dist-info → pyxcp-0.22.17.dist-info}/LICENSE +0 -0
- {pyxcp-0.22.16.dist-info → pyxcp-0.22.17.dist-info}/WHEEL +0 -0
- {pyxcp-0.22.16.dist-info → pyxcp-0.22.17.dist-info}/entry_points.txt +0 -0
pyxcp/__init__.py
CHANGED
pyxcp/config/__init__.py
CHANGED
|
@@ -23,7 +23,7 @@ from traitlets import (
|
|
|
23
23
|
Unicode,
|
|
24
24
|
Union,
|
|
25
25
|
)
|
|
26
|
-
from traitlets.config import Application,
|
|
26
|
+
from traitlets.config import Application, Configurable, Instance, default
|
|
27
27
|
|
|
28
28
|
from pyxcp.config import legacy
|
|
29
29
|
|
|
@@ -55,7 +55,7 @@ class CanBase:
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
|
|
58
|
-
class CanAlystii(
|
|
58
|
+
class CanAlystii(Configurable, CanBase):
|
|
59
59
|
"""CANalyst-II is a USB to CAN Analyzer device produced by Chuangxin Technology."""
|
|
60
60
|
|
|
61
61
|
interface_name = "canalystii"
|
|
@@ -71,7 +71,7 @@ messages (for all channels) before older messages are dropped """,
|
|
|
71
71
|
).tag(config=True)
|
|
72
72
|
|
|
73
73
|
|
|
74
|
-
class CanTact(
|
|
74
|
+
class CanTact(Configurable, CanBase):
|
|
75
75
|
"""Interface for CANtact devices from Linklayer Labs"""
|
|
76
76
|
|
|
77
77
|
interface_name = "cantact"
|
|
@@ -84,7 +84,7 @@ class CanTact(SingletonConfigurable, CanBase):
|
|
|
84
84
|
)
|
|
85
85
|
|
|
86
86
|
|
|
87
|
-
class Etas(
|
|
87
|
+
class Etas(Configurable, CanBase):
|
|
88
88
|
"""ETAS"""
|
|
89
89
|
|
|
90
90
|
interface_name = "etas"
|
|
@@ -94,7 +94,7 @@ class Etas(SingletonConfigurable, CanBase):
|
|
|
94
94
|
has_receive_own_messages = True
|
|
95
95
|
|
|
96
96
|
|
|
97
|
-
class Gs_Usb(
|
|
97
|
+
class Gs_Usb(Configurable, CanBase):
|
|
98
98
|
"""Geschwister Schneider USB/CAN devices and candleLight USB CAN interfaces."""
|
|
99
99
|
|
|
100
100
|
interface_name = "gs_usb"
|
|
@@ -113,7 +113,7 @@ If specified, bus/address shall not be provided.""",
|
|
|
113
113
|
)
|
|
114
114
|
|
|
115
115
|
|
|
116
|
-
class Neovi(
|
|
116
|
+
class Neovi(Configurable, CanBase):
|
|
117
117
|
"""Intrepid Control Systems (ICS) neoVI interfaces."""
|
|
118
118
|
|
|
119
119
|
interface_name = "neovi"
|
|
@@ -133,7 +133,7 @@ class Neovi(SingletonConfigurable, CanBase):
|
|
|
133
133
|
).tag(config=True)
|
|
134
134
|
|
|
135
135
|
|
|
136
|
-
class IsCan(
|
|
136
|
+
class IsCan(Configurable, CanBase):
|
|
137
137
|
"""Interface for isCAN from Thorsis Technologies GmbH, former ifak system GmbH."""
|
|
138
138
|
|
|
139
139
|
interface_name = "iscan"
|
|
@@ -141,7 +141,7 @@ class IsCan(SingletonConfigurable, CanBase):
|
|
|
141
141
|
has_poll_interval = True
|
|
142
142
|
|
|
143
143
|
|
|
144
|
-
class Ixxat(
|
|
144
|
+
class Ixxat(Configurable, CanBase):
|
|
145
145
|
"""IXXAT Virtual Communication Interface"""
|
|
146
146
|
|
|
147
147
|
interface_name = "ixxat"
|
|
@@ -174,7 +174,7 @@ class Ixxat(SingletonConfigurable, CanBase):
|
|
|
174
174
|
}
|
|
175
175
|
|
|
176
176
|
|
|
177
|
-
class Kvaser(
|
|
177
|
+
class Kvaser(Configurable, CanBase):
|
|
178
178
|
"""Kvaser's CANLib"""
|
|
179
179
|
|
|
180
180
|
interface_name = "kvaser"
|
|
@@ -208,7 +208,7 @@ This can be set if reading and/or writing is done from one thread. """,
|
|
|
208
208
|
).tag(config=True)
|
|
209
209
|
|
|
210
210
|
|
|
211
|
-
class NeouSys(
|
|
211
|
+
class NeouSys(Configurable, CanBase):
|
|
212
212
|
"""Neousys CAN Interface"""
|
|
213
213
|
|
|
214
214
|
interface_name = "neousys"
|
|
@@ -216,7 +216,7 @@ class NeouSys(SingletonConfigurable, CanBase):
|
|
|
216
216
|
device = Integer(default_value=None, allow_none=True, help="Device number").tag(config=True)
|
|
217
217
|
|
|
218
218
|
|
|
219
|
-
class NiCan(
|
|
219
|
+
class NiCan(Configurable, CanBase):
|
|
220
220
|
"""National Instruments NI-CAN"""
|
|
221
221
|
|
|
222
222
|
interface_name = "nican"
|
|
@@ -230,7 +230,7 @@ the error. """,
|
|
|
230
230
|
).tag(config=True)
|
|
231
231
|
|
|
232
232
|
|
|
233
|
-
class NixNet(
|
|
233
|
+
class NixNet(Configurable, CanBase):
|
|
234
234
|
"""National Instruments NI-XNET"""
|
|
235
235
|
|
|
236
236
|
interface_name = "nixnet"
|
|
@@ -247,7 +247,7 @@ class NixNet(SingletonConfigurable, CanBase):
|
|
|
247
247
|
can_termination = Bool(default_value=None, allow_none=True, help="Enable bus termination.")
|
|
248
248
|
|
|
249
249
|
|
|
250
|
-
class PCan(
|
|
250
|
+
class PCan(Configurable, CanBase):
|
|
251
251
|
"""PCAN Basic API"""
|
|
252
252
|
|
|
253
253
|
interface_name = "pcan"
|
|
@@ -317,7 +317,7 @@ it will not be responsive.""",
|
|
|
317
317
|
).tag(config=True)
|
|
318
318
|
|
|
319
319
|
|
|
320
|
-
class Robotell(
|
|
320
|
+
class Robotell(Configurable, CanBase):
|
|
321
321
|
"""Interface for Chinese Robotell compatible interfaces"""
|
|
322
322
|
|
|
323
323
|
interface_name = "robotell"
|
|
@@ -331,7 +331,7 @@ class Robotell(SingletonConfigurable, CanBase):
|
|
|
331
331
|
rtscts = Bool(default_value=None, allow_none=True, help="turn hardware handshake (RTS/CTS) on and off.").tag(config=True)
|
|
332
332
|
|
|
333
333
|
|
|
334
|
-
class SeeedStudio(
|
|
334
|
+
class SeeedStudio(Configurable, CanBase):
|
|
335
335
|
"""Seeed USB-Can analyzer interface."""
|
|
336
336
|
|
|
337
337
|
interface_name = "seeedstudio"
|
|
@@ -346,7 +346,7 @@ class SeeedStudio(SingletonConfigurable, CanBase):
|
|
|
346
346
|
).tag(config=True)
|
|
347
347
|
|
|
348
348
|
|
|
349
|
-
class Serial(
|
|
349
|
+
class Serial(Configurable, CanBase):
|
|
350
350
|
"""A text based interface."""
|
|
351
351
|
|
|
352
352
|
interface_name = "serial"
|
|
@@ -358,7 +358,7 @@ class Serial(SingletonConfigurable, CanBase):
|
|
|
358
358
|
baudrate = Integer(default_value=None, allow_none=True, help="Baud rate of the serial device in bit/s.").tag(config=True)
|
|
359
359
|
|
|
360
360
|
|
|
361
|
-
class SlCan(
|
|
361
|
+
class SlCan(Configurable, CanBase):
|
|
362
362
|
"""CAN over Serial / SLCAN."""
|
|
363
363
|
|
|
364
364
|
interface_name = "slcan"
|
|
@@ -374,7 +374,7 @@ class SlCan(SingletonConfigurable, CanBase):
|
|
|
374
374
|
).tag(config=True)
|
|
375
375
|
|
|
376
376
|
|
|
377
|
-
class SocketCan(
|
|
377
|
+
class SocketCan(Configurable, CanBase):
|
|
378
378
|
"""Linux SocketCAN."""
|
|
379
379
|
|
|
380
380
|
interface_name = "socketcan"
|
|
@@ -395,7 +395,7 @@ See https://www.kernel.org/doc/html/latest/networking/can.html#socketcan-local-l
|
|
|
395
395
|
).tag(config=True)
|
|
396
396
|
|
|
397
397
|
|
|
398
|
-
class SocketCanD(
|
|
398
|
+
class SocketCanD(Configurable, CanBase):
|
|
399
399
|
"""Network-to-CAN bridge as a Linux damon."""
|
|
400
400
|
|
|
401
401
|
interface_name = "socketcand"
|
|
@@ -406,7 +406,7 @@ class SocketCanD(SingletonConfigurable, CanBase):
|
|
|
406
406
|
port = Integer(default_value=None, allow_none=True, help=""" """).tag(config=True)
|
|
407
407
|
|
|
408
408
|
|
|
409
|
-
class Systec(
|
|
409
|
+
class Systec(Configurable, CanBase):
|
|
410
410
|
"""SYSTEC interface"""
|
|
411
411
|
|
|
412
412
|
interface_name = "systec"
|
|
@@ -425,7 +425,7 @@ class Systec(SingletonConfigurable, CanBase):
|
|
|
425
425
|
).tag(config=True)
|
|
426
426
|
|
|
427
427
|
|
|
428
|
-
class Udp_Multicast(
|
|
428
|
+
class Udp_Multicast(Configurable, CanBase):
|
|
429
429
|
"""A virtual interface for CAN communications between multiple processes using UDP over Multicast IP."""
|
|
430
430
|
|
|
431
431
|
interface_name = "udp_multicast"
|
|
@@ -440,7 +440,7 @@ class Udp_Multicast(SingletonConfigurable, CanBase):
|
|
|
440
440
|
)
|
|
441
441
|
|
|
442
442
|
|
|
443
|
-
class Usb2Can(
|
|
443
|
+
class Usb2Can(Configurable, CanBase):
|
|
444
444
|
"""Interface to a USB2CAN Bus."""
|
|
445
445
|
|
|
446
446
|
interface_name = "usb2can"
|
|
@@ -454,7 +454,7 @@ class Usb2Can(SingletonConfigurable, CanBase):
|
|
|
454
454
|
)
|
|
455
455
|
|
|
456
456
|
|
|
457
|
-
class Vector(
|
|
457
|
+
class Vector(Configurable, CanBase):
|
|
458
458
|
"""Vector Informatik CAN interfaces."""
|
|
459
459
|
|
|
460
460
|
interface_name = "vector"
|
|
@@ -490,7 +490,7 @@ If set, the `app_name` does not have to be previously defined in
|
|
|
490
490
|
)
|
|
491
491
|
|
|
492
492
|
|
|
493
|
-
class Virtual(
|
|
493
|
+
class Virtual(Configurable, CanBase):
|
|
494
494
|
""" """
|
|
495
495
|
|
|
496
496
|
interface_name = "virtual"
|
|
@@ -545,7 +545,7 @@ CAN_INTERFACE_MAP = {
|
|
|
545
545
|
}
|
|
546
546
|
|
|
547
547
|
|
|
548
|
-
class Can(
|
|
548
|
+
class Can(Configurable):
|
|
549
549
|
VALID_INTERFACES = can.interfaces.VALID_INTERFACES
|
|
550
550
|
|
|
551
551
|
interface = Enum(
|
|
@@ -639,32 +639,32 @@ timing-related parameters.
|
|
|
639
639
|
f"CAN interface must be one of {sorted(list(self.VALID_INTERFACES))} not the"
|
|
640
640
|
" {type(self.interface).__name__} {self.interface}."
|
|
641
641
|
)
|
|
642
|
-
self.canalystii = CanAlystii
|
|
643
|
-
self.cantact = CanTact
|
|
644
|
-
self.etas = Etas
|
|
645
|
-
self.gs_usb = Gs_Usb
|
|
646
|
-
self.neovi = Neovi
|
|
647
|
-
self.iscan = IsCan
|
|
648
|
-
self.ixxat = Ixxat
|
|
649
|
-
self.kvaser = Kvaser
|
|
650
|
-
self.neousys = NeouSys
|
|
651
|
-
self.nican = NiCan
|
|
652
|
-
self.nixnet = NixNet
|
|
653
|
-
self.pcan = PCan
|
|
654
|
-
self.robotell = Robotell
|
|
655
|
-
self.seeedstudio = SeeedStudio
|
|
656
|
-
self.serial = Serial
|
|
657
|
-
self.slcan = SlCan
|
|
658
|
-
self.socketcan = SocketCan
|
|
659
|
-
self.socketcand = SocketCanD
|
|
660
|
-
self.systec = Systec
|
|
661
|
-
self.udp_multicast = Udp_Multicast
|
|
662
|
-
self.usb2can = Usb2Can
|
|
663
|
-
self.vector = Vector
|
|
664
|
-
self.virtual = Virtual
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
class Eth(
|
|
642
|
+
self.canalystii = CanAlystii(config=self.config, parent=self)
|
|
643
|
+
self.cantact = CanTact(config=self.config, parent=self)
|
|
644
|
+
self.etas = Etas(config=self.config, parent=self)
|
|
645
|
+
self.gs_usb = Gs_Usb(config=self.config, parent=self)
|
|
646
|
+
self.neovi = Neovi(config=self.config, parent=self)
|
|
647
|
+
self.iscan = IsCan(config=self.config, parent=self)
|
|
648
|
+
self.ixxat = Ixxat(config=self.config, parent=self)
|
|
649
|
+
self.kvaser = Kvaser(config=self.config, parent=self)
|
|
650
|
+
self.neousys = NeouSys(config=self.config, parent=self)
|
|
651
|
+
self.nican = NiCan(config=self.config, parent=self)
|
|
652
|
+
self.nixnet = NixNet(config=self.config, parent=self)
|
|
653
|
+
self.pcan = PCan(config=self.config, parent=self)
|
|
654
|
+
self.robotell = Robotell(config=self.config, parent=self)
|
|
655
|
+
self.seeedstudio = SeeedStudio(config=self.config, parent=self)
|
|
656
|
+
self.serial = Serial(config=self.config, parent=self)
|
|
657
|
+
self.slcan = SlCan(config=self.config, parent=self)
|
|
658
|
+
self.socketcan = SocketCan(config=self.config, parent=self)
|
|
659
|
+
self.socketcand = SocketCanD(config=self.config, parent=self)
|
|
660
|
+
self.systec = Systec(config=self.config, parent=self)
|
|
661
|
+
self.udp_multicast = Udp_Multicast(config=self.config, parent=self)
|
|
662
|
+
self.usb2can = Usb2Can(config=self.config, parent=self)
|
|
663
|
+
self.vector = Vector(config=self.config, parent=self)
|
|
664
|
+
self.virtual = Virtual(config=self.config, parent=self)
|
|
665
|
+
|
|
666
|
+
|
|
667
|
+
class Eth(Configurable):
|
|
668
668
|
"""Ethernet."""
|
|
669
669
|
|
|
670
670
|
host = Unicode("localhost", help="Hostname or IP address of XCP slave.").tag(config=True)
|
|
@@ -676,7 +676,7 @@ class Eth(SingletonConfigurable):
|
|
|
676
676
|
bind_to_port = Integer(default_value=None, allow_none=True, help="Bind to specific local port.").tag(config=True)
|
|
677
677
|
|
|
678
678
|
|
|
679
|
-
class SxI(
|
|
679
|
+
class SxI(Configurable):
|
|
680
680
|
"""SCI and SPI connections."""
|
|
681
681
|
|
|
682
682
|
port = Unicode("COM1", help="Name of communication interface.").tag(config=True)
|
|
@@ -728,7 +728,7 @@ HEADER_LEN_FILL_WORD | 2 X 2
|
|
|
728
728
|
esc_esc = Integer(0x00, min=0, max=255, help="SCI framing protocol character ESC.").tag(config=True)
|
|
729
729
|
|
|
730
730
|
|
|
731
|
-
class Usb(
|
|
731
|
+
class Usb(Configurable):
|
|
732
732
|
"""Universal Serial Bus connections."""
|
|
733
733
|
|
|
734
734
|
serial_number = Unicode("", help="Device serial number.").tag(config=True)
|
|
@@ -787,7 +787,7 @@ class Usb(SingletonConfigurable):
|
|
|
787
787
|
out_ep_recommended_host_bufsize = Integer(0, help="Outgoing: Recommended host buffer size.").tag(config=True)
|
|
788
788
|
|
|
789
789
|
|
|
790
|
-
class Transport(
|
|
790
|
+
class Transport(Configurable):
|
|
791
791
|
""" """
|
|
792
792
|
|
|
793
793
|
classes = List([Can, Eth, SxI, Usb])
|
|
@@ -813,13 +813,13 @@ if there is no response to a command.""",
|
|
|
813
813
|
|
|
814
814
|
def __init__(self, **kws):
|
|
815
815
|
super().__init__(**kws)
|
|
816
|
-
self.can = Can
|
|
817
|
-
self.eth = Eth
|
|
818
|
-
self.sxi = SxI
|
|
819
|
-
self.usb = Usb
|
|
816
|
+
self.can = Can(config=self.config, parent=self)
|
|
817
|
+
self.eth = Eth(config=self.config, parent=self)
|
|
818
|
+
self.sxi = SxI(config=self.config, parent=self)
|
|
819
|
+
self.usb = Usb(config=self.config, parent=self)
|
|
820
820
|
|
|
821
821
|
|
|
822
|
-
class General(
|
|
822
|
+
class General(Configurable):
|
|
823
823
|
""" """
|
|
824
824
|
|
|
825
825
|
# loglevel = Unicode("INFO", help="Set the log level by value or name.").tag(config=True)
|
|
@@ -932,11 +932,14 @@ class PyXCP(Application):
|
|
|
932
932
|
self.subapp.start()
|
|
933
933
|
exit(2)
|
|
934
934
|
else:
|
|
935
|
-
|
|
935
|
+
has_handlers = logging.getLogger().hasHandlers()
|
|
936
|
+
if has_handlers:
|
|
936
937
|
self.log = logging.getLogger()
|
|
938
|
+
self._read_configuration(self.config_file)
|
|
937
939
|
else:
|
|
940
|
+
self._read_configuration(self.config_file)
|
|
938
941
|
self._setup_logger()
|
|
939
|
-
|
|
942
|
+
self.log.debug(f"pyxcp version: {self.version}")
|
|
940
943
|
|
|
941
944
|
def _setup_logger(self):
|
|
942
945
|
from pyxcp.types import Command
|
|
@@ -964,12 +967,11 @@ class PyXCP(Application):
|
|
|
964
967
|
PyXCP.version = pyxcp_version
|
|
965
968
|
PyXCP.name = Path(sys.argv[0]).name
|
|
966
969
|
self.parse_command_line(argv[1:])
|
|
967
|
-
self.log.debug(f"pyxcp version: {self.version}")
|
|
968
970
|
|
|
969
971
|
def _read_configuration(self, file_name: str, emit_warning: bool = True) -> None:
|
|
970
972
|
self.read_configuration_file(file_name, emit_warning)
|
|
971
|
-
self.general = General
|
|
972
|
-
self.transport = Transport
|
|
973
|
+
self.general = General(config=self.config, parent=self)
|
|
974
|
+
self.transport = Transport(parent=self)
|
|
973
975
|
|
|
974
976
|
def read_configuration_file(self, file_name: str, emit_warning: bool = True):
|
|
975
977
|
self.legacy_config: bool = False
|
|
@@ -1076,9 +1078,7 @@ def create_application(options: typing.Optional[typing.List[typing.Any]] = None)
|
|
|
1076
1078
|
if options is None:
|
|
1077
1079
|
options = []
|
|
1078
1080
|
if application is not None:
|
|
1079
|
-
print("Return existing App")
|
|
1080
1081
|
return application
|
|
1081
|
-
print("Create New APP")
|
|
1082
1082
|
application = PyXCP()
|
|
1083
1083
|
application.initialize(sys.argv)
|
|
1084
1084
|
application.start()
|
|
@@ -1098,4 +1098,3 @@ def reset_application() -> None:
|
|
|
1098
1098
|
global application
|
|
1099
1099
|
del application
|
|
1100
1100
|
application = None
|
|
1101
|
-
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
pyxcp/master/master.py
CHANGED
|
@@ -70,12 +70,10 @@ class Master:
|
|
|
70
70
|
self.succeeded = True
|
|
71
71
|
self.config = config.general
|
|
72
72
|
self.logger = config.log
|
|
73
|
-
|
|
74
73
|
disable_error_handling(self.config.disable_error_handling)
|
|
75
74
|
self.transport_name = transport_name.lower()
|
|
76
75
|
transport_config = config.transport
|
|
77
76
|
self.transport = create_transport(transport_name, transport_config, policy, transport_layer_interface)
|
|
78
|
-
|
|
79
77
|
self.stim = Stim(self.config.stim_support)
|
|
80
78
|
self.stim.clear()
|
|
81
79
|
self.stim.set_policy_feeder(self.transport.policy.feed)
|
|
Binary file
|
|
Binary file
|
pyxcp/transport/base.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env python
|
|
2
2
|
import abc
|
|
3
|
+
import logging
|
|
3
4
|
import threading
|
|
4
5
|
from collections import deque
|
|
5
6
|
from typing import Any, Dict, Optional, Set, Type
|
|
@@ -145,7 +146,7 @@ class BaseTransport(metaclass=abc.ABCMeta):
|
|
|
145
146
|
self.command_lock: threading.Lock = threading.Lock()
|
|
146
147
|
self.policy_lock: threading.Lock = threading.Lock()
|
|
147
148
|
|
|
148
|
-
self.logger
|
|
149
|
+
self.logger = logging.getLogger("PyXCP")
|
|
149
150
|
self._debug: bool = self.logger.level == 10
|
|
150
151
|
if transport_layer_interface:
|
|
151
152
|
self.logger.info(f"Transport - User Supplied Transport-Layer Interface: '{transport_layer_interface!s}'")
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
pyxcp/__init__.py,sha256=
|
|
1
|
+
pyxcp/__init__.py,sha256=pREacwNVh4qvW5uQ5JpYc8KbZ-9d3W9xhkOB0Xfq3us,548
|
|
2
2
|
pyxcp/aml/EtasCANMonitoring.a2l,sha256=EJYwe3Z3H24vyWAa6lUgcdKnQY8pwFxjyCN6ZU1ST8w,1509
|
|
3
3
|
pyxcp/aml/EtasCANMonitoring.aml,sha256=xl0DdyeiIaLW0mmmJNAyJS0CQdOLSxt9dxfgrdSlU8Y,2405
|
|
4
4
|
pyxcp/aml/ifdata_CAN.a2l,sha256=NCUnCUEEgRbZYSLGtUGwL2e7zJ8hrp0SbmLHGv8uY58,612
|
|
@@ -18,14 +18,14 @@ pyxcp/asamkeydll.c,sha256=dVEvU0S1kgIo62S0La-T8xHSw668LM_DYc_fiQ0No6g,2952
|
|
|
18
18
|
pyxcp/asamkeydll.sh,sha256=DC2NKUMwvi39OQgJ6514Chr4wc1LYbTmQHmMq9jAHHs,59
|
|
19
19
|
pyxcp/checksum.py,sha256=alze1JiZ2JmdRul9QzP_-fuAqJcNyYBbo35zBwEKqHk,11535
|
|
20
20
|
pyxcp/cmdline.py,sha256=na3ZbWQ-5ezsi1MrkuxMTCAXonUF3X6-LutoneyE3dU,1529
|
|
21
|
-
pyxcp/config/__init__.py,sha256=
|
|
21
|
+
pyxcp/config/__init__.py,sha256=u9v-eUAJd8amEvkJsns5DCMhvYD3Lp3Ct0posmuqOec,41635
|
|
22
22
|
pyxcp/config/legacy.py,sha256=4QdDheX8DbBKv5JVT72_C_cjCgKvZmhN3tJ6hsvBEtI,5220
|
|
23
23
|
pyxcp/constants.py,sha256=9yGfujC0ImTYQWfn41wyw8pluJTSrhMGWIVeIZTgsLg,1160
|
|
24
24
|
pyxcp/cpp_ext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
25
|
pyxcp/cpp_ext/bin.hpp,sha256=PwJloZek21la-RBSda2Hc0u_6gID0sfTduPeplaAyR4,2561
|
|
26
26
|
pyxcp/cpp_ext/blockmem.hpp,sha256=ysaJwmTWGTfE54Outk3gJYOfAVFd_QaonBMtXLcXwCc,1242
|
|
27
|
-
pyxcp/cpp_ext/cpp_ext.cp38-win_amd64.pyd,sha256=
|
|
28
|
-
pyxcp/cpp_ext/cpp_ext.cp39-win_amd64.pyd,sha256=
|
|
27
|
+
pyxcp/cpp_ext/cpp_ext.cp38-win_amd64.pyd,sha256=fB-yLesyOSPtnOUVS8ryinNAdbAZRw8r3nZQtN30F04,279040
|
|
28
|
+
pyxcp/cpp_ext/cpp_ext.cp39-win_amd64.pyd,sha256=FQxJXzfkWgQYvYmm-LONrAQNzcGGUidhpopcnZONtgw,260096
|
|
29
29
|
pyxcp/cpp_ext/daqlist.hpp,sha256=5JEYQK96qac4ZsoMVnmVGsrH_4uuqbHwcNGiH4j5FAU,7167
|
|
30
30
|
pyxcp/cpp_ext/event.hpp,sha256=Z-1yxsEKsr81NnLVEWJ2ANA8FV7YsM7EbNxaw-elheE,1200
|
|
31
31
|
pyxcp/cpp_ext/extension_wrapper.cpp,sha256=-r1YYgJD4dJiiMeA0HEmIQQfsXrzDozLonCrbpKUXiA,4544
|
|
@@ -37,8 +37,8 @@ pyxcp/daq_stim/optimize/__init__.py,sha256=FUWK0GkNpNT-sUlhibp7xa2aSYpm6Flh5yA2w
|
|
|
37
37
|
pyxcp/daq_stim/optimize/binpacking.py,sha256=Iltho5diKlJG-ltbmx053U2vOFRlCISolXK61T14l_I,1257
|
|
38
38
|
pyxcp/daq_stim/scheduler.cpp,sha256=a7VK7kP2Hs8yMlcDAkXwJ0bH88lr_yz156sphcHS7Z4,715
|
|
39
39
|
pyxcp/daq_stim/scheduler.hpp,sha256=U_6tUbebmzX5vVZS0EFSgTaPsyxMg6yRXHG_aPWA0x4,1884
|
|
40
|
-
pyxcp/daq_stim/stim.cp38-win_amd64.pyd,sha256=
|
|
41
|
-
pyxcp/daq_stim/stim.cp39-win_amd64.pyd,sha256=
|
|
40
|
+
pyxcp/daq_stim/stim.cp38-win_amd64.pyd,sha256=nZDwl440Te46boRuT3sD5CUnZM-yJ017RYsWcgsp9BM,186880
|
|
41
|
+
pyxcp/daq_stim/stim.cp39-win_amd64.pyd,sha256=prypCDCAatuOwKuobQVbbgXIzFQN7THWGnnp6P2vLBE,181248
|
|
42
42
|
pyxcp/daq_stim/stim.cpp,sha256=F2OG67W4KKwTTiUCxm-9egIv3TLFdOkRunX6xf7YOtc,177
|
|
43
43
|
pyxcp/daq_stim/stim.hpp,sha256=U-uInRrA6OCdMl1l1SWbQ_KEPpnNYrWut924IvbW6R0,18508
|
|
44
44
|
pyxcp/daq_stim/stim_wrapper.cpp,sha256=5LbWkK86h_4mHd83dnwCU7BRvVYit8ijxBMT7pthtOE,1830
|
|
@@ -68,7 +68,7 @@ pyxcp/examples/xcphello.py,sha256=xbcWq8StRJyUZBLUvknsXv7VkEBD5SU0SJjlZTHsSzs,26
|
|
|
68
68
|
pyxcp/examples/xcphello_recorder.py,sha256=QHWJsq5h5CI9t5qEmMSorZyzirTpoXz4nzuKTMzbZCA,3409
|
|
69
69
|
pyxcp/master/__init__.py,sha256=QQbkUJM1WQ-5p2MiNFYxLAmHhNsCQLzDp-S4aoOFxoA,318
|
|
70
70
|
pyxcp/master/errorhandler.py,sha256=U5QuvGRDM9kRNwY5kbkTOnthp19RHoXEGCsaBNiFTps,14973
|
|
71
|
-
pyxcp/master/master.py,sha256=
|
|
71
|
+
pyxcp/master/master.py,sha256=8Raqs6GSuhtPo7ny2DTgB8IUg98RKDbsvK1C1r0xC2Q,76927
|
|
72
72
|
pyxcp/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
73
73
|
pyxcp/recorder/__init__.py,sha256=pg-cdOaoj-D-woFxFb2p6SpFTNTdpQEIknHdDaQ9ROE,2695
|
|
74
74
|
pyxcp/recorder/build_clang.cmd,sha256=JvFngSnb28XcBGXxC6MGrcOCGYfahOIvHpgRpqbA6HQ,175
|
|
@@ -85,8 +85,8 @@ pyxcp/recorder/mio.hpp,sha256=5ASJLKSEykH0deAQD5uak-_yAgd5p2n8t06315GSGrg,63346
|
|
|
85
85
|
pyxcp/recorder/reader.hpp,sha256=rr9XZ_ciL6eF2_xEqyt9XYNqTIze9ytAsnf8uYukO9U,5201
|
|
86
86
|
pyxcp/recorder/reco.py,sha256=6N6FIwfCEVMpi5dr3eUOQa1lowcg2LCnS_sy_-b-UiQ,8725
|
|
87
87
|
pyxcp/recorder/recorder.rst,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
88
|
-
pyxcp/recorder/rekorder.cp38-win_amd64.pyd,sha256=
|
|
89
|
-
pyxcp/recorder/rekorder.cp39-win_amd64.pyd,sha256=
|
|
88
|
+
pyxcp/recorder/rekorder.cp38-win_amd64.pyd,sha256=R537i7P6WTgq4wW5zpGqFvpWWGhlCnp8F7Yft1fp9-Q,377856
|
|
89
|
+
pyxcp/recorder/rekorder.cp39-win_amd64.pyd,sha256=VC0bVSL_97fL-0KdOBlk5tnfxbN2WIOgLfmXqa3U40c,364032
|
|
90
90
|
pyxcp/recorder/rekorder.cpp,sha256=U0LMyk8pZXx9emgS_WPVthvn_9IpgE7JGrh4kg-8CX4,1900
|
|
91
91
|
pyxcp/recorder/rekorder.hpp,sha256=sWvRch9bVt6mmgrFHp5mwWhap7HoFG4geeb7UqEIzio,7638
|
|
92
92
|
pyxcp/recorder/setup.py,sha256=_99XFPQAd5V4LcJaSGJwdnbxgxJ7kl8DEXfHsnKO1Yg,998
|
|
@@ -113,7 +113,7 @@ pyxcp/tests/test_transport.py,sha256=Qn2VjNRfYCU6DH8olVSBUCqb0zdAM9GlTbVBM99YxFQ
|
|
|
113
113
|
pyxcp/tests/test_utils.py,sha256=SrURAFc_6jtHng3PSZ5gpqXzVBVuPoMPB0YNvOvaIE0,880
|
|
114
114
|
pyxcp/timing.py,sha256=zE6qPqOuidg6saNt7_zmbQgufxL9Id6akVYhAtpweQc,1705
|
|
115
115
|
pyxcp/transport/__init__.py,sha256=31PaQLj76n5pXr68aJRWcYfrxEYWWgYoe9f_w3jZxsc,438
|
|
116
|
-
pyxcp/transport/base.py,sha256=
|
|
116
|
+
pyxcp/transport/base.py,sha256=uyCJF6Lznm4gIa_Jq5Pkp6JAT6H6hQuZwryZkLz3kVI,16337
|
|
117
117
|
pyxcp/transport/base_transport.hpp,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
118
118
|
pyxcp/transport/can.py,sha256=cQ8lrwBL7Ar0GSf48987TztR9wqYS_UnXUngzhaHXe0,14909
|
|
119
119
|
pyxcp/transport/eth.py,sha256=xPzN2oSALoPKJVvZpBljPSV1AxfpjRusOzymO-TD1Rw,8711
|
|
@@ -124,8 +124,8 @@ pyxcp/types.py,sha256=hY4Bb3qT3ZoabGnSKLY6S84MvVyuOCxwVONfs2skx2Y,26043
|
|
|
124
124
|
pyxcp/utils.py,sha256=unlg0CoNwcWYfd-BE0hZJ93uhlAoW_nryv9tS_R3C44,2969
|
|
125
125
|
pyxcp/vector/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
126
126
|
pyxcp/vector/map.py,sha256=7Gnhvr79geMeqqGVIJPxODXGwABdNDinnqzhpooN5TE,2306
|
|
127
|
-
pyxcp-0.22.
|
|
128
|
-
pyxcp-0.22.
|
|
129
|
-
pyxcp-0.22.
|
|
130
|
-
pyxcp-0.22.
|
|
131
|
-
pyxcp-0.22.
|
|
127
|
+
pyxcp-0.22.17.dist-info/entry_points.txt,sha256=2JbL-pWn9UxpBrS64aWiFFkq9x2A7y-dkrxYlfQqIJU,307
|
|
128
|
+
pyxcp-0.22.17.dist-info/LICENSE,sha256=fTqV5eBpeAZO0_jit8j4Ref9ikBSlHJ8xwj5TLg7gFk,7817
|
|
129
|
+
pyxcp-0.22.17.dist-info/METADATA,sha256=Y25KGhGW9TpABRLdLdfxVJJGHCOpSigRZkNO04CHEvk,4076
|
|
130
|
+
pyxcp-0.22.17.dist-info/WHEEL,sha256=stwmTYJX3Ig1i5Yp_Pa9Gz70Fxdfm712A6kJyXcadF8,96
|
|
131
|
+
pyxcp-0.22.17.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|