# How to get raw data from transport?

**URL:** <https://forum.opencyphal.org/t/how-to-get-raw-data-from-transport/1386>\
**Category:** PyCyphal\
**Created:** [August 2, 2021, 6:03pm UTC](https://forum.opencyphal.org/t/how-to-get-raw-data-from-transport/1386 "2021-08-02T18:03:40Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Diggy](https://forum.opencyphal.org/letter_avatar_proxy/v4/letter/d/e99b99/32.png) [@Diggy](https://forum.opencyphal.org/u/Diggy)\
**Post date:** [August 2, 2021, 6:03pm UTC](https://forum.opencyphal.org/t/how-to-get-raw-data-from-transport/1386/1 "2021-08-02T18:03:41Z")

</div>

Hi there!  
How can I get raw (or almost raw) data from transport?  
I’ve added seeedstudio support but I’m not ready yet to make PR because I want to test my changes.  
I do not need nodes. DSDL or something like that. It would be great if a simple way to work with data exists. Actually I need PyUAVCAN in order to have long messages sending/receiving.  
So I have:  
media = PythonCANMedia(‘seeedstudio:/dev/ttyUSB0’, 500000)  
tr = pyuavcan.transport.can.CANTransport(media, 111)

And I want to get all data from the bus and output it.

---

<div class="post-metadata">

**Author:** ![pavel.kirienko](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/pavel.kirienko/32/9_2.png) [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Post date:** [August 2, 2021, 6:07pm UTC](https://forum.opencyphal.org/t/how-to-get-raw-data-from-transport/1386/2 "2021-08-02T18:07:56Z")

</div>

Sounds like you’re looking for _[advanced network diagnostics](https://pyuavcan.readthedocs.io/en/stable/pages/architecture.html#advanced-network-diagnostics-sniffing-snooping-tracing-spoofing)_, specifically [`pyuavcan.transport.Transport.begin_capture()`](https://pyuavcan.readthedocs.io/en/stable/api/pyuavcan.transport.html#pyuavcan.transport.Transport.begin_capture). A [simple demo](https://pyuavcan.readthedocs.io/en/stable/api/pyuavcan.transport.html#sniffing-snooping-and-tracing) is also available in the docs:

```python
from pyuavcan.transport import Capture
from pyuavcan.transport.loopback import LoopbackTransport

captured_events = []
def on_capture(cap: Capture) -> None:
    captured_events.append(cap)

tr = LoopbackTransport(None)
tr.begin_capture(on_capture)

```

---

<div class="post-metadata">

**Author:** ![pavel.kirienko](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/pavel.kirienko/32/9_2.png) [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Post date:** [August 2, 2021, 6:09pm UTC](https://forum.opencyphal.org/t/how-to-get-raw-data-from-transport/1386/3 "2021-08-02T18:09:03Z")

</div>

For CAN specifically, see [`pyuavcan.transport.can.CANCapture`](https://pyuavcan.readthedocs.io/en/stable/api/pyuavcan.transport.can.html#pyuavcan.transport.can.CANCapture)

---

<div class="post-metadata">

**Author:** ![Diggy](https://forum.opencyphal.org/letter_avatar_proxy/v4/letter/d/e99b99/32.png) [@Diggy](https://forum.opencyphal.org/u/Diggy)\
**Post date:** [August 2, 2021, 6:30pm UTC](https://forum.opencyphal.org/t/how-to-get-raw-data-from-transport/1386/4 "2021-08-02T18:30:00Z")

</div>

Pavel, thanks a lot, it works.
