oep-client-python 0.0.14__py3-none-any.whl → 0.0.16__py3-none-any.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.
oep_client/__init__.py CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  __all__ = ["__version__"]
4
4
 
5
- __version__ = "0.0.14"
5
+ __version__ = "0.0.16"
oep_client/capture.py CHANGED
@@ -492,10 +492,15 @@ class CaptureGroup(Interface):
492
492
  none = self.NO_TIME
493
493
  return GroupStatus(state, None if start == none else start, None if trig == none else trig, fn or None)
494
494
 
495
- def wait(self, timeout: float = 5.0) -> GroupStatus:
496
- """Poll until every track is done (one-shot)."""
495
+ def wait(self, timeout: float = 5.0, keepalive_s: float = 1.0) -> GroupStatus:
496
+ """Poll until every track is done (one-shot). The lock is kept alive every `keepalive_s` while it waits (a
497
+ trigger may come later than the lease)."""
497
498
  deadline = time.monotonic() + timeout
499
+ kept = time.monotonic()
498
500
  while time.monotonic() < deadline:
501
+ if keepalive_s and self.host.session is not None and time.monotonic() - kept >= keepalive_s:
502
+ self.host.keepalive()
503
+ kept = time.monotonic()
499
504
  st = self.status()
500
505
  if st.state == STATE["done"]:
501
506
  return st
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: oep-client-python
3
- Version: 0.0.14
3
+ Version: 0.0.16
4
4
  Summary: Open Embedded Probe (OEP) v1 host: serial / USB / TCP transports, the session rules, the standard interfaces, and a fake probe
5
5
  Project-URL: Homepage, https://github.com/Open-Embedded-Probe/oep-client-python
6
6
  Project-URL: Repository, https://github.com/Open-Embedded-Probe/oep-client-python
@@ -1,7 +1,7 @@
1
- oep_client/__init__.py,sha256=Qiq6di7eG4zCHZANijy6O0Kbnh_h-qo1JgkqCh5GLSY,164
1
+ oep_client/__init__.py,sha256=YL8CwQX1xqi6YSM99NKyxxZZH1KyQXMuDhyPEZOQYpQ,164
2
2
  oep_client/__main__.py,sha256=qtVGdpAHULBtLY2SedabJf-uwDZZhMf_YmrbqRzM57U,14669
3
3
  oep_client/arm.py,sha256=JLyUhLSPcmsk73schZcaJYoOKuHzrvnU8kPmfrEvVuo,12331
4
- oep_client/capture.py,sha256=e4GtLr4DpZQKngJnm4KLqK7TztL3FCbLa-JoVwfyMHw,25501
4
+ oep_client/capture.py,sha256=Nmx9Oi9YzS_0HfeM3pDcGvqfHINSrifFqwNj9D7-D-U,25851
5
5
  oep_client/catalog.py,sha256=EqAQnSgHFxGbCO2GQ_Ee-uheJKbBBUUpL1-0qHfNMXU,6574
6
6
  oep_client/ch32_flash.py,sha256=Fc-6jEj15cQtMSKmfC5dmDetMXJ8hAdAuJ9d9odwrsA,12651
7
7
  oep_client/cobs.py,sha256=hqddQI_X7rsBvBvcP_MBE3bXPyB13-Azjqp_9JfdQ1g,2288
@@ -30,8 +30,8 @@ oep_client/rp2350.py,sha256=7OMyj270k3AY1e3-ljicPwOjf9jOlokbT6QNkA0b0yY,4227
30
30
  oep_client/target.py,sha256=R8BvYfFfYNhZF0MysJkNb8b69YgBlmeGXNX8ReZIe5k,1068
31
31
  oep_client/uiapduino.py,sha256=IEPG3LbZPksi8g3wmAf6T0CRWSfYKW1_qrH_GBVQdxY,6090
32
32
  oep_client/usb_stream.py,sha256=VJMCxsOlQCk005FcS92pqTh33fRSFBizoL__L0VbUMA,10242
33
- oep_client_python-0.0.14.dist-info/METADATA,sha256=3GPr9u5aR7SPcyfTOUnQi-ramsrfhebUtEKGitwQnIg,8590
34
- oep_client_python-0.0.14.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
35
- oep_client_python-0.0.14.dist-info/entry_points.txt,sha256=h6_8QX89Ww1ogALEGG5g4kspT3IOV6O51lwKqf5BWco,49
36
- oep_client_python-0.0.14.dist-info/licenses/LICENSE,sha256=ntlalztb3L1OaNAxmQdHlubu5fVhjMc9oRZi3PeQhXg,1076
37
- oep_client_python-0.0.14.dist-info/RECORD,,
33
+ oep_client_python-0.0.16.dist-info/METADATA,sha256=b9T5MOkGdU6q8knwj-q-Wp3rNU0vWAaWGiIfFq11MCM,8590
34
+ oep_client_python-0.0.16.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
35
+ oep_client_python-0.0.16.dist-info/entry_points.txt,sha256=h6_8QX89Ww1ogALEGG5g4kspT3IOV6O51lwKqf5BWco,49
36
+ oep_client_python-0.0.16.dist-info/licenses/LICENSE,sha256=ntlalztb3L1OaNAxmQdHlubu5fVhjMc9oRZi3PeQhXg,1076
37
+ oep_client_python-0.0.16.dist-info/RECORD,,