def SetMagnetometerData(dataMagnetometer): global magnSampleRate sensorCollector = Sensors(accelSampleRate, magnSampleRate) rate = sensorCollector.GetMagnByValue(magnSampleRate) while (True): localMiliseconds = int(str(datetime.now()).replace(".", ":")[:-3][-3:]) # Wait til a second pass for ctdr in range(1, int(rate + 1)): # Collect information from magnetometer while (not (int( (ctdr - 1) * (1000.0 / rate)) <= localMiliseconds < int(ctdr * (1000.0 / rate)))): try: localMiliseconds = int( str(datetime.now()).replace(".", ":")[:-3][-3:]) except: pass if (ctdr == 1): del dataMagnetometer[:] dataMagnetometer.append(sensorCollector.ReadMagnetometer())