|
1 | 1 | # Ref: IEEE Std 802.3-2018 |
2 | 2 | # Accession: G00098 |
3 | 3 |
|
4 | | -from typing import Iterable, AsyncIterator, BinaryIO |
| 4 | +from typing import BinaryIO |
| 5 | +from collections.abc import AsyncIterator |
5 | 6 | import time |
6 | 7 | import logging |
7 | 8 | import asyncio |
|
17 | 18 | from glasgow.arch.ieee802_3 import * |
18 | 19 | from glasgow.gateware import cobs, ethernet |
19 | 20 | from glasgow.protocol import snoop |
20 | | -from glasgow.abstract import AbstractAssembly, GlasgowPin |
| 21 | +from glasgow.abstract import AbstractAssembly |
21 | 22 | from glasgow.applet import GlasgowAppletV2 |
22 | 23 | from glasgow.applet.control.mdio import ControlMDIOInterface |
23 | 24 |
|
@@ -69,15 +70,16 @@ def __init__(self, logger: logging.Logger, assembly: AbstractAssembly, *, |
69 | 70 | self._rx_bypass = assembly.add_rw_register(component.rx_bypass) |
70 | 71 | self._tx_bypass = assembly.add_rw_register(component.tx_bypass) |
71 | 72 |
|
72 | | - self._snoop: snoop.SnoopWriter = None |
| 73 | + self._snoop: snoop.SnoopWriter | None = None |
73 | 74 |
|
74 | 75 | def _log(self, message: str, *args): |
75 | 76 | self._logger.log(self._level, "Ethernet: " + message, *args) |
76 | 77 |
|
77 | 78 | @property |
78 | | - def snoop_file(self) -> BinaryIO: |
| 79 | + def snoop_file(self) -> BinaryIO | None: |
79 | 80 | if self._snoop is not None: |
80 | 81 | return self._snoop.file |
| 82 | + return None |
81 | 83 |
|
82 | 84 | @snoop_file.setter |
83 | 85 | def snoop_file(self, snoop_file): |
@@ -128,6 +130,8 @@ class AbstractEthernetApplet(GlasgowAppletV2): |
128 | 130 | sudo ip link set glasgow0 up |
129 | 131 | """ |
130 | 132 | required_revision = "C0" |
| 133 | + eth_iface: AbstractEthernetInterface |
| 134 | + mdio_iface: ControlMDIOInterface |
131 | 135 |
|
132 | 136 | @classmethod |
133 | 137 | def add_setup_arguments(cls, parser): |
@@ -208,7 +212,7 @@ async def forward_tx(): |
208 | 212 | self.logger.warning("packet bad (crc)") |
209 | 213 | count_bad += 1 |
210 | 214 | await asyncio.sleep(args.delay) |
211 | | - except asyncio.TimeoutError: |
| 215 | + except TimeoutError: |
212 | 216 | self.logger.warning("packet lost") |
213 | 217 | count_lost += 1 |
214 | 218 | finally: |
|
0 commit comments