diff --git a/util/modbus/register.go b/util/modbus/register.go index 4f7b95c30..3f7c8096a 100644 --- a/util/modbus/register.go +++ b/util/modbus/register.go @@ -1,7 +1,6 @@ package modbus import ( - "encoding/binary" "errors" "fmt" "math" @@ -138,18 +137,11 @@ func (r Register) Operation() (RegisterOperation, error) { } } else { switch strings.ToLower(r.encoding()) { - case "int32s", "uint32s": + case "int32s", "uint32s", "float32s", "ieee754s": op.Encode = func(v uint64) uint64 { return v&0xFFFF<<16 | v&0xFFFF0000>>16 } - case "float32s", "ieee754s": - op.Encode = func(v uint64) uint64 { - b := make([]byte, 4) - encoding.PutFloat32LswFirst(b, float32(v)) - return uint64(binary.BigEndian.Uint32(b)) - } - default: op.Encode = func(v uint64) uint64 { return v