pyxcp 0.22.15__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 CHANGED
@@ -17,4 +17,4 @@ tb_install(show_locals=True, max_frames=3) # Install custom exception handler.
17
17
 
18
18
  # if you update this manually, do not forget to update
19
19
  # .bumpversion.cfg and pyproject.toml.
20
- __version__ = "0.22.15"
20
+ __version__ = "0.22.17"
pyxcp/cmdline.py CHANGED
@@ -8,7 +8,7 @@ import warnings
8
8
  from dataclasses import dataclass
9
9
  from typing import List
10
10
 
11
- from pyxcp.config import create_application
11
+ from pyxcp.config import create_application, reset_application # noqa: F401
12
12
  from pyxcp.master import Master
13
13
 
14
14
 
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, Instance, SingletonConfigurable, default
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable, CanBase):
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(SingletonConfigurable):
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.instance(config=self.config, parent=self)
643
- self.cantact = CanTact.instance(config=self.config, parent=self)
644
- self.etas = Etas.instance(config=self.config, parent=self)
645
- self.gs_usb = Gs_Usb.instance(config=self.config, parent=self)
646
- self.neovi = Neovi.instance(config=self.config, parent=self)
647
- self.iscan = IsCan.instance(config=self.config, parent=self)
648
- self.ixxat = Ixxat.instance(config=self.config, parent=self)
649
- self.kvaser = Kvaser.instance(config=self.config, parent=self)
650
- self.neousys = NeouSys.instance(config=self.config, parent=self)
651
- self.nican = NiCan.instance(config=self.config, parent=self)
652
- self.nixnet = NixNet.instance(config=self.config, parent=self)
653
- self.pcan = PCan.instance(config=self.config, parent=self)
654
- self.robotell = Robotell.instance(config=self.config, parent=self)
655
- self.seeedstudio = SeeedStudio.instance(config=self.config, parent=self)
656
- self.serial = Serial.instance(config=self.config, parent=self)
657
- self.slcan = SlCan.instance(config=self.config, parent=self)
658
- self.socketcan = SocketCan.instance(config=self.config, parent=self)
659
- self.socketcand = SocketCanD.instance(config=self.config, parent=self)
660
- self.systec = Systec.instance(config=self.config, parent=self)
661
- self.udp_multicast = Udp_Multicast.instance(config=self.config, parent=self)
662
- self.usb2can = Usb2Can.instance(config=self.config, parent=self)
663
- self.vector = Vector.instance(config=self.config, parent=self)
664
- self.virtual = Virtual.instance(config=self.config, parent=self)
665
-
666
-
667
- class Eth(SingletonConfigurable):
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(SingletonConfigurable):
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(SingletonConfigurable):
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(SingletonConfigurable):
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.instance(config=self.config, parent=self)
817
- self.eth = Eth.instance(config=self.config, parent=self)
818
- self.sxi = SxI.instance(config=self.config, parent=self)
819
- self.usb = Usb.instance(config=self.config, parent=self)
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(SingletonConfigurable):
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
- if logging.getLogger().hasHandlers():
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
- self._read_configuration(self.config_file)
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.instance(config=self.config, parent=self)
972
- self.transport = Transport.instance(parent=self)
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
@@ -1090,3 +1092,9 @@ def get_application(options: typing.Optional[typing.List[typing.Any]] = None) ->
1090
1092
  if application is None:
1091
1093
  application = create_application(options)
1092
1094
  return application
1095
+
1096
+
1097
+ def reset_application() -> None:
1098
+ global application
1099
+ del application
1100
+ application = None
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: Any = config.log
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,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.3
2
2
  Name: pyxcp
3
- Version: 0.22.15
3
+ Version: 0.22.17
4
4
  Summary: Universal Calibration Protocol for Python
5
5
  Home-page: https://github.com/christoph2/pyxcp
6
6
  License: LGPLv3
@@ -1,4 +1,4 @@
1
- pyxcp/__init__.py,sha256=khCCsoqIa2rdPfgNBT5DMyC0E__leAJYx1L04ZuP98w,548
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
@@ -17,15 +17,15 @@ pyxcp/asam/types.py,sha256=_gKcpBF5mon_SDWZBUW0PGBMcb37yrvhhEuk1wslg-s,2441
17
17
  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
- pyxcp/cmdline.py,sha256=uSbCtKtQT0JQxMhcoUUx_UJ1nMUILMWckEQGe_tNxXk,1496
21
- pyxcp/config/__init__.py,sha256=Vv0CPXg6hDftPRMmiv845KqcksZPlBqJMmmyWyrH-Vs,41954
20
+ pyxcp/cmdline.py,sha256=na3ZbWQ-5ezsi1MrkuxMTCAXonUF3X6-LutoneyE3dU,1529
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=n3siq0kY9s42hmWyLOImWi6V0S-XJVomZRFORknBno8,279040
28
- pyxcp/cpp_ext/cpp_ext.cp39-win_amd64.pyd,sha256=K8d2QX_lbJXGdukw_wT3gHdwPE5zetuJp7xun4hkfk8,260096
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=irmZyFgbb9kmfHP3PtzgRpC7TFXHW1K7Old5zkn1YsE,186880
41
- pyxcp/daq_stim/stim.cp39-win_amd64.pyd,sha256=kcHZ4T18ueJQs_PPhkMqApGy5wCn2DZnRp-zWsvVjjo,181248
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=TMC5hr9A5qQEVu7obqQPAdViimEDoteJ-4_nIJGlFWw,76931
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=dFkTmorviAoTmYIItrk3v-hAooPclv597rRb6GHkoWQ,377856
89
- pyxcp/recorder/rekorder.cp39-win_amd64.pyd,sha256=ioyXnXIpXYTtQZ4DwrN7w5xliW0YpIQMtA25WYRCSZM,364032
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=Gf2LoKrzYpm-6kSCE43TXqNiZ9daH3BPfH7Y7cFs548,16310
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.15.dist-info/entry_points.txt,sha256=2JbL-pWn9UxpBrS64aWiFFkq9x2A7y-dkrxYlfQqIJU,307
128
- pyxcp-0.22.15.dist-info/LICENSE,sha256=fTqV5eBpeAZO0_jit8j4Ref9ikBSlHJ8xwj5TLg7gFk,7817
129
- pyxcp-0.22.15.dist-info/METADATA,sha256=ln4ptZFCo3cPZOyah_kYldJErYbW_xadFbyBRaX4AEs,4076
130
- pyxcp-0.22.15.dist-info/WHEEL,sha256=zL2RsiyB_EeNq9bDnS65cCOuFnoUWWXPWqe16aj1r0k,96
131
- pyxcp-0.22.15.dist-info/RECORD,,
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,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.9.1
2
+ Generator: poetry-core 2.0.0
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp39-cp39-win_amd64