powermon.ports.serialport module¶
powermon / ports / serialport.py
- class powermon.ports.serialport.SerialPort(path, baud, protocol)¶
Bases:
AbstractPort
serial port object - normally a usb to serial adapter
- async connect() int ¶
default port connect function
- async disconnect() None ¶
default port disconnect function
- async classmethod from_config(config=None)¶
build port object from config dict
- is_connected()¶
default is_connected function
- async resolve_path(path, serial_number)¶
Async method to resolve a valid path by testing each one.
- async send_and_receive(command: Command) Result ¶
main worker function for port objects, specific to each port type
- to_dto() _AbstractPortDTO ¶
convert port object to data transfer object
- class powermon.ports.serialport.SerialPortDTO(*, port_type: str, protocol: AbstractProtocolDTO, path: str, baud: int, serial_number: None | int | str)¶
Bases:
_AbstractPortDTO
data transfer model for SerialPort class
- model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}¶
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[Dict[str, FieldInfo]] = {'baud': FieldInfo(annotation=int, required=True), 'path': FieldInfo(annotation=str, required=True), 'port_type': FieldInfo(annotation=str, required=True), 'protocol': FieldInfo(annotation=AbstractProtocolDTO, required=True), 'serial_number': FieldInfo(annotation=Union[NoneType, int, str], required=True)}¶
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.
This replaces Model.__fields__ from Pydantic V1.