package nvcs import ( "context" "time" "gat1400Exchange/config" "gat1400Exchange/pkg/logger" "gat1400Exchange/rfid" ) var gRFIDFloor string func readRFID(ctx context.Context) { rfidReader := rfid.NewReader(config.RFIDConf.DevName, 115200, 5) defer rfidReader.CloseSerial() err := rfidReader.OpenSerial() if err != nil { logger.Error("open rfid. %s", err.Error()) return } go func() { err := rfidReader.ReadEPCData(ctx) if err != nil { logger.Error("rfid read. %s", err.Error()) } }() for { select { case <-ctx.Done(): return default: if rfidReader.Alive { floor, _ := rfid.Parse2Floor(rfidReader.EPCData) if floor != gRFIDFloor { gRFIDFloor = floor logger.Debug("rfid read epc floor %s", gRFIDFloor) } } time.Sleep(200 * time.Millisecond) } } }