| | |
| | | |
| | | 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) { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | 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 |
| | | } |
| | |
| | | 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() |
| | |
| | | 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, |