venv added, updated
This commit is contained in:
43
myenv/lib/python3.12/site-packages/pymodbus/framer/base.py
Normal file
43
myenv/lib/python3.12/site-packages/pymodbus/framer/base.py
Normal file
@@ -0,0 +1,43 @@
|
||||
"""Framer implementations.
|
||||
|
||||
The implementation is responsible for encoding/decoding requests/responses.
|
||||
|
||||
According to the selected type of modbus frame a prefix/suffix is added/removed
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
from abc import abstractmethod
|
||||
|
||||
|
||||
class FramerBase:
|
||||
"""Intern base."""
|
||||
|
||||
EMPTY = b''
|
||||
|
||||
def __init__(self) -> None:
|
||||
"""Initialize a ADU instance."""
|
||||
|
||||
def set_dev_ids(self, _dev_ids: list[int]):
|
||||
"""Set/update allowed device ids."""
|
||||
|
||||
def set_fc_calc(self, _fc: int, _msg_size: int, _count_pos: int):
|
||||
"""Set/Update function code information."""
|
||||
|
||||
@abstractmethod
|
||||
def decode(self, data: bytes) -> tuple[int, int, int, bytes]:
|
||||
"""Decode ADU.
|
||||
|
||||
returns:
|
||||
used_len (int) or 0 to read more
|
||||
transaction_id (int) or 0
|
||||
device_id (int) or 0
|
||||
modbus request/response (bytes)
|
||||
"""
|
||||
|
||||
@abstractmethod
|
||||
def encode(self, pdu: bytes, dev_id: int, tid: int) -> bytes:
|
||||
"""Encode ADU.
|
||||
|
||||
returns:
|
||||
modbus ADU (bytes)
|
||||
"""
|
||||
Reference in New Issue
Block a user