mirror of https://github.com/commaai/panda.git
26 lines
707 B
Python
26 lines
707 B
Python
from abc import ABC, abstractmethod
|
|
from typing import List
|
|
|
|
|
|
# This mimics the handle given by libusb1 for easy interoperability
|
|
class BaseHandle(ABC):
|
|
@abstractmethod
|
|
def close(self) -> None:
|
|
...
|
|
|
|
@abstractmethod
|
|
def controlWrite(self, request_type: int, request: int, value: int, index: int, data, timeout: int = 0) -> int:
|
|
...
|
|
|
|
@abstractmethod
|
|
def controlRead(self, request_type: int, request: int, value: int, index: int, length: int, timeout: int = 0) -> bytes:
|
|
...
|
|
|
|
@abstractmethod
|
|
def bulkWrite(self, endpoint: int, data: List[int], timeout: int = 0) -> int:
|
|
...
|
|
|
|
@abstractmethod
|
|
def bulkRead(self, endpoint: int, length: int, timeout: int = 0) -> bytes:
|
|
...
|