zhangzengfei
2024-10-17 b4a86051e9bf4888fd5d01c12232a26f3874e03b
完善epc读取楼层
2个文件已修改
58 ■■■■ 已修改文件
rfid/rw.go 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/nvcs.go 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rfid/rw.go
@@ -80,7 +80,10 @@
func (r *Reader) ReadResponse() (int, error) {
    buf := make([]byte, 1024) // 根据协议最大数据长度调整缓冲区
    return r.DevPort.Read(buf)
    n, err := r.DevPort.Read(buf)
    fmt.Printf("Recive message %x\n", buf[:n])
    return n, err
}
func (r *Reader) ScanSpecificEPC(target string, minCount int) (bool, error) {
@@ -220,3 +223,34 @@
        }
    }
}
func (r *Reader) GetPower() error {
    cmd := "5A0001020200002959"
    data, _ := hex.DecodeString(cmd)
    _, err := r.DevPort.Write(data)
    if err != nil {
        return nil
    }
    // todo parse response
    r.ReadResponse()
    return err
}
func (r *Reader) SetPower20() error {
    cmd := "5A0001020100020132D230"
    data, _ := hex.DecodeString(cmd)
    _, err := r.DevPort.Write(data)
    if err != nil {
        return nil
    }
    // todo parse response
    r.ReadResponse()
    return err
}
service/nvcs.go
@@ -253,14 +253,6 @@
            runStateStr = ""
        }
        // 设置osd  格式 "1F上 固 枪"
        if config.NVCSConf.OSD != "" {
            floorText := fmt.Sprintf("%s%s %s", data.Elevator[0].Status.FloorName, runStateStr, config.NVCSConf.OSD)
            // 调用hik api 将文字添加到osd的左下角
            AddFloorToOSD(floorText)
        }
        // correct floor when elevator stopped.
        //if elevator.Status.RunDir == 0 {
        //    go A1CorrectFloor()
@@ -283,12 +275,20 @@
        ElevatorRunFloor = elevator.Status.FloorName
        if config.RFIDConf.ReadFloor && rfidReader.EPCData != "" {
            ElevatorRunFloor, _ = rfid.Parse2Floor(rfidReader.EPCData)
            if ElevatorRunFloor != elevator.Status.FloorName {
                logger.Warn("rfid epc %s, nvcs floor %s", ElevatorRunFloor, elevator.Status.FloorName)
            logger.Debug("rfid read epc floor %s", ElevatorRunFloor)
            if elevator.Status.RunDir == RunStop && ElevatorRunFloor != elevator.Status.FloorName {
                logger.Warn("A floor error has occurred rfid epc %s, nvcs floor %s", ElevatorRunFloor, elevator.Status.FloorName)
            }
        }
        // 设置osd  格式 "1F上 固 枪"
        if config.NVCSConf.OSD != "" {
            floorText := fmt.Sprintf("%s%s %s", ElevatorRunFloor, runStateStr, config.NVCSConf.OSD)
            // 调用hik api 将文字添加到osd的左下角
            AddFloorToOSD(floorText)
        }
        go func() {
            var d = models.Positions{
                DeviceId:   elevator.Name,