zhangzengfei
2024-10-20 cf5a63e3ba397649cb1cbf379f0ad6cd3c2a937e
debug osd
2个文件已修改
23 ■■■■ 已修改文件
nvcs/cache.go 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
nvcs/osd.go 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
nvcs/cache.go
@@ -24,6 +24,9 @@
// 存储数据到缓存中
func (c *simpleCache) store(data elevatorRunData) {
    var floorChanged = true
    // 取RFID楼层
    if config.RFIDConf.ReadFloor && gRFIDFloor != data.Floor {
        if data.RunState == RunStop {
            logger.Warn("A floor error has occurred rfid epc %s, nvcs floor %s", gRFIDFloor, data.Floor)
@@ -35,14 +38,22 @@
    lastData := c.data.Back()
    // 如果楼层相同,并且数据在1秒内,则忽略
    if lastData != nil && lastData.Value.(elevatorRunData).Timestamp == data.Timestamp {
    if lastData != nil {
        if lastData.Value.(elevatorRunData).Floor == data.Floor {
            floorChanged = false
            if lastData.Value.(elevatorRunData).Timestamp == data.Timestamp {
            return
        }
    }
    }
    c.data.PushBack(data)
    if !floorChanged {
        return
    }
    // 数据库保存一份
    go func() {
        var d = models.Positions{
            DeviceId:   data.Device,
            Pos:        data.Floor,
@@ -55,7 +66,6 @@
        if err != nil {
            logger.Warn("Device position update error:%s", err.Error())
        }
    }()
    // 写OSD
    var runStateStr string
@@ -72,10 +82,9 @@
        floorText := fmt.Sprintf("%s%s %s", data.Floor, runStateStr, config.NVCSConf.OSD)
        // 调用hik api 将文字添加到osd的左下角
        go addFloorToOSD(floorText)
        addFloorToOSD(floorText)
    }
    c.data.PushBack(data)
}
// 删除过期数据
nvcs/osd.go
@@ -60,6 +60,10 @@
        }
    }
    if overlayText.DisplayText == osdText {
        return
    }
    overlayText.DisplayText = osdText
    body, _ := xml.Marshal(overlayText)
    _, err := hikISAPIRequest(cameraWebUser, cameraWebPassword, "PUT", overlay7Url, string(body))