Dane Sabo 3299181c70 Auto sync: 2025-09-02 22:47:53 (10335 files changed)
M  lazy-lock.json

M  lua/custom/configs/lspconfig.lua

M  lua/custom/init.lua

A  lua/custom/journal.lua

A  nvim_venv/bin/Activate.ps1

A  nvim_venv/bin/activate

A  nvim_venv/bin/activate.csh

A  nvim_venv/bin/activate.fish
2025-09-02 22:47:53 -04:00

145 lines
3.4 KiB
Python

"""Constants For Modbus Server/Client.
This is the single location for storing default
values for the servers and clients.
"""
import enum
INTERNAL_ERROR = "Pymodbus internal error"
class ModbusStatus(int, enum.Enum):
"""These represent various status codes in the modbus protocol.
.. attribute:: WAITING
This indicates that a modbus device is currently
waiting for a given request to finish some running task.
.. attribute:: READY
This indicates that a modbus device is currently
free to perform the next request task.
.. attribute:: ON
This indicates that the given modbus entity is on
.. attribute:: OFF
This indicates that the given modbus entity is off
.. attribute:: SLAVE_ON
This indicates that the given modbus slave is running
.. attribute:: SLAVE_OFF
This indicates that the given modbus slave is not running
"""
WAITING = 0xFFFF
READY = 0x0000
ON = 0xFF00
OFF = 0x0000
SLAVE_ON = 0xFF
SLAVE_OFF = 0x00
class Endian(str, enum.Enum):
"""An enumeration representing the various byte endianness.
.. attribute:: AUTO
This indicates that the byte order is chosen by the
current native environment.
.. attribute:: BIG
This indicates that the bytes are in big endian format
.. attribute:: LITTLE
This indicates that the bytes are in little endian format
.. note:: I am simply borrowing the format strings from the
python struct module for my convenience.
"""
AUTO = "@"
BIG = ">"
LITTLE = "<"
class ModbusPlusOperation(int, enum.Enum):
"""Represents the type of modbus plus request.
.. attribute:: GET_STATISTICS
Operation requesting that the current modbus plus statistics
be returned in the response.
.. attribute:: CLEAR_STATISTICS
Operation requesting that the current modbus plus statistics
be cleared and not returned in the response.
"""
GET_STATISTICS = 0x0003
CLEAR_STATISTICS = 0x0004
class DeviceInformation(int, enum.Enum):
"""Represents what type of device information to read.
.. attribute:: BASIC
This is the basic (required) device information to be returned.
This includes VendorName, ProductCode, and MajorMinorRevision
code.
.. attribute:: REGULAR
In addition to basic data objects, the device provides additional
and optional identification and description data objects. All of
the objects of this category are defined in the standard but their
implementation is optional.
.. attribute:: EXTENDED
In addition to regular data objects, the device provides additional
and optional identification and description private data about the
physical device itself. All of these data are device dependent.
.. attribute:: SPECIFIC
Request to return a single data object.
"""
BASIC = 0x01
REGULAR = 0x02
EXTENDED = 0x03
SPECIFIC = 0x04
def __str__(self):
"""Override to force int representation for enum members."""
return str(int(self))
class MoreData(int, enum.Enum):
"""Represents the more follows condition.
.. attribute:: NOTHING
This indicates that no more objects are going to be returned.
.. attribute:: KEEP_READING
This indicates that there are more objects to be returned.
"""
NOTHING = 0x00
KEEP_READING = 0xFF