DPF/sensor.go

40 lines
1022 B
Go
Raw Normal View History

2019-11-03 18:00:35 +00:00
package main
import (
"encoding/binary"
"log"
)
// Sensor 传感器
type Sensor struct {
SP01 uint16 // 清洗罐气压传感器 SP-01 罐体排空,值≤0.5(暂定)
SP02 uint16 // 清洗液水箱水位传感器 SP-02 模拟量传感器
LT01 uint16 // 清洗罐满水位传感器 (非接触式水位传感器) LT-01 模拟量传感器
LT02 uint16 // 清洗罐排水传感器 (非接触式水位传感器) LT-02 模拟量传感器
LT03 uint8 // 清洗液水箱满水位传感器 (浮子式水位传感器) LT-03 值为1,清洗液水箱满水位
}
func NewSensor(buf []byte) *Sensor {
if len(buf) == 14 {
if buf[0] == byte(0xaa) && buf[1] == byte(0x55) {
2019-11-04 06:29:08 +00:00
sensor := &Sensor{}
2019-11-03 18:00:35 +00:00
sensor.SP01 = binary.BigEndian.Uint16(buf[2:4])
sensor.SP02 = binary.BigEndian.Uint16(buf[4:6])
sensor.LT01 = binary.BigEndian.Uint16(buf[6:8])
sensor.LT02 = binary.BigEndian.Uint16(buf[8:10])
sensor.LT03 = uint8(buf[10])
return sensor
}
}
log.Println(buf, "非标准传感器字节流")
return nil
}