private static void inventoryTimerEventProcessor(object obj, EventArgs args) { reader.StopOperation(); traningTimer.Stop(); List<Double> diffRssi; double rssi1_ = 0, rssi2_ = 0, rssi3_ = 0; double diffRssi1 = 0, diffRssi2 = 0, diffRssi3 = 0; int box = 0; Dictionary<String, Double> dicDiff = new Dictionary<string, double>(); Map map = new Map(); sendBox SendBox = new sendBox(map.getBox); if ((totalReadCounts1 >= 5) && (totalReadCounts2 >= 5) && (totalReadCounts3 >= 5)) { rssi1_ = averageRssi(arrRssi1); rssi2_ = averageRssi(arrRssi2); rssi3_ = averageRssi(arrRssi3); diffRssi = new List<Double>(); for (int i = 0; i < dataRssi.Count; i++) { diffRssi1 = Math.Abs(rssi1_ - dataRssi[i].getRssi1()); diffRssi2 = Math.Abs(rssi2_ - dataRssi[i].getRssi2()); diffRssi3 = Math.Abs(rssi3_ - dataRssi[i].getRssi3()); diffRssi.Add(diffRssi1 + diffRssi2 + diffRssi3); } box = findMin(diffRssi); } else if ((totalReadCounts2 >= 5) && (totalReadCounts3 >= 5) && totalReadCounts1 <5) { rssi1_ = 0; rssi2_ = averageRssi(arrRssi2); rssi3_ = averageRssi(arrRssi3); diffRssi = new List<Double>(); for (int i = 0; i < dataRssi.Count; i++) { diffRssi1 = Math.Abs(rssi1_ - dataRssi[i].getRssi1()); diffRssi2 = Math.Abs(rssi2_ - dataRssi[i].getRssi2()); diffRssi3 = Math.Abs(rssi3_ - dataRssi[i].getRssi3()); diffRssi.Add(diffRssi1 + diffRssi2 + diffRssi3); } box = findMin(diffRssi); } else if ((totalReadCounts1 >= 5) && (totalReadCounts3 >= 5) && totalReadCounts2 < 5) { rssi1_ = averageRssi(arrRssi1); rssi2_ = 0; rssi3_ = averageRssi(arrRssi3); diffRssi = new List<Double>(); for (int i = 0; i < dataRssi.Count; i++) { diffRssi1 = Math.Abs(rssi1_ - dataRssi[i].getRssi1()); diffRssi2 = Math.Abs(rssi2_ - dataRssi[i].getRssi2()); diffRssi3 = Math.Abs(rssi3_ - dataRssi[i].getRssi3()); diffRssi.Add(diffRssi1 + diffRssi2 + diffRssi3); } box = findMin(diffRssi); } else if ((totalReadCounts1 >= 5) && (totalReadCounts2 >= 5) && totalReadCounts3 < 5) { rssi1_ = averageRssi(arrRssi1); rssi2_ = averageRssi(arrRssi2); rssi3_ = 0; diffRssi = new List<Double>(); for (int i = 0; i < dataRssi.Count; i++) { diffRssi1 = Math.Abs(rssi1_ - dataRssi[i].getRssi1()); diffRssi2 = Math.Abs(rssi2_ - dataRssi[i].getRssi2()); diffRssi3 = Math.Abs(rssi3_ - dataRssi[i].getRssi3()); diffRssi.Add(diffRssi1 + diffRssi3 + diffRssi2); } box = findMin(diffRssi); } // MessageBox.Show(box.ToString()); SendBox(box); totalReadCounts1 = 0; totalReadCounts2 = totalReadCounts3 = totalReadCounts4 = 0; rssi1_ = rssi2_ = rssi3_ = 0; arrRssi1.Clear(); arrRssi1.Clear(); arrRssi3.Clear(); arrRssi4.Clear(); reader.InventoryMultiple(); traningTimer.Start(); }
private static void inventoryTimerEventProcessor(object obj, EventArgs args) { reader.StopOperation(); traningTimer.Stop(); List <Double> diffRssi; double rssi1_ = 0, rssi2_ = 0, rssi3_ = 0; double diffRssi1 = 0, diffRssi2 = 0, diffRssi3 = 0; int box = 0; Dictionary <String, Double> dicDiff = new Dictionary <string, double>(); Map map = new Map(); sendBox SendBox = new sendBox(map.getBox); if ((totalReadCounts1 >= 5) && (totalReadCounts2 >= 5) && (totalReadCounts3 >= 5)) { rssi1_ = averageRssi(arrRssi1); rssi2_ = averageRssi(arrRssi2); rssi3_ = averageRssi(arrRssi3); diffRssi = new List <Double>(); for (int i = 0; i < dataRssi.Count; i++) { diffRssi1 = Math.Abs(rssi1_ - dataRssi[i].getRssi1()); diffRssi2 = Math.Abs(rssi2_ - dataRssi[i].getRssi2()); diffRssi3 = Math.Abs(rssi3_ - dataRssi[i].getRssi3()); diffRssi.Add(diffRssi1 + diffRssi2 + diffRssi3); } box = findMin(diffRssi); } else if ((totalReadCounts2 >= 5) && (totalReadCounts3 >= 5) && totalReadCounts1 < 5) { rssi1_ = 0; rssi2_ = averageRssi(arrRssi2); rssi3_ = averageRssi(arrRssi3); diffRssi = new List <Double>(); for (int i = 0; i < dataRssi.Count; i++) { diffRssi1 = Math.Abs(rssi1_ - dataRssi[i].getRssi1()); diffRssi2 = Math.Abs(rssi2_ - dataRssi[i].getRssi2()); diffRssi3 = Math.Abs(rssi3_ - dataRssi[i].getRssi3()); diffRssi.Add(diffRssi1 + diffRssi2 + diffRssi3); } box = findMin(diffRssi); } else if ((totalReadCounts1 >= 5) && (totalReadCounts3 >= 5) && totalReadCounts2 < 5) { rssi1_ = averageRssi(arrRssi1); rssi2_ = 0; rssi3_ = averageRssi(arrRssi3); diffRssi = new List <Double>(); for (int i = 0; i < dataRssi.Count; i++) { diffRssi1 = Math.Abs(rssi1_ - dataRssi[i].getRssi1()); diffRssi2 = Math.Abs(rssi2_ - dataRssi[i].getRssi2()); diffRssi3 = Math.Abs(rssi3_ - dataRssi[i].getRssi3()); diffRssi.Add(diffRssi1 + diffRssi2 + diffRssi3); } box = findMin(diffRssi); } else if ((totalReadCounts1 >= 5) && (totalReadCounts2 >= 5) && totalReadCounts3 < 5) { rssi1_ = averageRssi(arrRssi1); rssi2_ = averageRssi(arrRssi2); rssi3_ = 0; diffRssi = new List <Double>(); for (int i = 0; i < dataRssi.Count; i++) { diffRssi1 = Math.Abs(rssi1_ - dataRssi[i].getRssi1()); diffRssi2 = Math.Abs(rssi2_ - dataRssi[i].getRssi2()); diffRssi3 = Math.Abs(rssi3_ - dataRssi[i].getRssi3()); diffRssi.Add(diffRssi1 + diffRssi3 + diffRssi2); } box = findMin(diffRssi); } // MessageBox.Show(box.ToString()); SendBox(box); totalReadCounts1 = 0; totalReadCounts2 = totalReadCounts3 = totalReadCounts4 = 0; rssi1_ = rssi2_ = rssi3_ = 0; arrRssi1.Clear(); arrRssi1.Clear(); arrRssi3.Clear(); arrRssi4.Clear(); reader.InventoryMultiple(); traningTimer.Start(); }