Add more data_types to modbus (#52423)

* Add more data_types.

* Use new struct when writing temperature.
This commit is contained in:
jan iversen 2021-07-12 07:58:45 +02:00 committed by GitHub
parent 91a2b96da0
commit 2ecfd74fa4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 123 additions and 101 deletions

View file

@ -79,6 +79,15 @@ DATA_TYPE_FLOAT = "float"
DATA_TYPE_INT = "int"
DATA_TYPE_UINT = "uint"
DATA_TYPE_STRING = "string"
DATA_TYPE_INT16 = "int16"
DATA_TYPE_INT32 = "int32"
DATA_TYPE_INT64 = "int64"
DATA_TYPE_UINT16 = "uint16"
DATA_TYPE_UINT32 = "uint32"
DATA_TYPE_UINT64 = "uint64"
DATA_TYPE_FLOAT16 = "float16"
DATA_TYPE_FLOAT32 = "float32"
DATA_TYPE_FLOAT64 = "float64"
# call types
CALL_TYPE_COIL = "coil"
@ -100,9 +109,16 @@ DEFAULT_SCAN_INTERVAL = 15 # seconds
DEFAULT_SLAVE = 1
DEFAULT_STRUCTURE_PREFIX = ">f"
DEFAULT_STRUCT_FORMAT = {
DATA_TYPE_INT: {1: "h", 2: "i", 4: "q"},
DATA_TYPE_UINT: {1: "H", 2: "I", 4: "Q"},
DATA_TYPE_FLOAT: {1: "e", 2: "f", 4: "d"},
DATA_TYPE_INT16: "h",
DATA_TYPE_INT32: "i",
DATA_TYPE_INT64: "q",
DATA_TYPE_UINT16: "H",
DATA_TYPE_UINT32: "I",
DATA_TYPE_UINT64: "Q",
DATA_TYPE_FLOAT16: "e",
DATA_TYPE_FLOAT32: "f",
DATA_TYPE_FLOAT64: "d",
DATA_TYPE_STRING: "s",
}
DEFAULT_TEMP_UNIT = "C"
MODBUS_DOMAIN = "modbus"