def run_calculations(): global numSteps numSteps += 1 #signal represents rssi for BLE taken from distances signal = HelperFuncs.dist_from_beacons(beacons, personLoc[0], personLoc[1]) #fingerprinting estimates locEstTimeStart = time.time() est = Fingerprinting.get_closest_fingerprint(signal, fingerprintMap) locEstTimeTot = time.time() - locEstTimeStart isFingerprintError = HelperFuncs.is_error_in_estimation(personLoc, est) if (isFingerprintError): global fingerprintData fingerprintData = error_calculations(fingerprintData, personLoc, est, signal) fError = HelperFuncs.total_error(personLoc, est) fingerprintData['allFingerprintTimes'].append(locEstTimeTot) #trilateration estiamtes locEstTimeStart = time.time() est = Trilateration.calculate_loc(beacons, signal) locEstTimeTot = time.time() - locEstTimeStart isTrilaterationError = HelperFuncs.is_error_in_estimation(personLoc, est) if (isTrilaterationError): global triangulationData triangulationData = error_calculations(triangulationData, personLoc, est, signal) tError = HelperFuncs.total_error(personLoc, est) triangulationData['allTrilaterationTimes'].append(locEstTimeTot) #compare error if (isFingerprintError and isTrilaterationError): if (tError > fError): fillColor = "orange" else: fillColor = "purple" c.create_oval(personLoc[0] - 3, personLoc[1] - 3, personLoc[0] + 3, personLoc[1] + 3, fill=fillColor)