from collections import Counter
from errno import ENOENT
-from typing import TYPE_CHECKING, Optional, Union
+from typing import TYPE_CHECKING, Optional, Union, cast
from . import _ext
from ._internal import poll_fd
longer be used after this method is called.
"""
self._check_closed()
- self._chip.close()
+ cast(_ext.Chip, self._chip).close()
self._chip = None
def get_info(self) -> ChipInfo:
self._check_closed()
if not self._info:
- self._info = self._chip.get_info()
+ self._info = cast(_ext.Chip, self._chip).get_info()
return self._info
if not isinstance(id, int):
try:
- return self._chip.line_offset_from_id(id)
+ return cast(_ext.Chip, self._chip).line_offset_from_id(id)
except OSError as ex:
if ex.errno == ENOENT:
try:
def _get_line_info(self, line: Union[int, str], watch: bool) -> LineInfo:
self._check_closed()
- return self._chip.get_line_info(self.line_offset_from_id(line), watch)
+ return cast(_ext.Chip, self._chip).get_line_info(
+ self.line_offset_from_id(line), watch
+ )
def get_line_info(self, line: Union[int, str]) -> LineInfo:
"""
Offset or name of the line to stop watching.
"""
self._check_closed()
- return self._chip.unwatch_line_info(self.line_offset_from_id(line))
+ return cast(_ext.Chip, self._chip).unwatch_line_info(
+ self.line_offset_from_id(line)
+ )
def wait_info_event(
self, timeout: Optional[Union[timedelta, float]] = None
This function may block if there are no available events in the queue.
"""
self._check_closed()
- return self._chip.read_info_event()
+ return cast(_ext.Chip, self._chip).read_info_event()
def request_lines(
self,
if len(global_output_values):
line_cfg.set_output_values(global_output_values)
- req_internal = self._chip.request_lines(line_cfg, consumer, event_buffer_size)
+ req_internal = cast(_ext.Chip, self._chip).request_lines(
+ line_cfg, consumer, event_buffer_size
+ )
request = LineRequest(req_internal)
request._chip_name = req_internal.chip_name
Filesystem path used to open this chip.
"""
self._check_closed()
- return self._chip.path
+ return cast(_ext.Chip, self._chip).path
@property
def fd(self) -> int:
File descriptor associated with this chip.
"""
self._check_closed()
- return self._chip.fd
+ return cast(_ext.Chip, self._chip).fd