Ich verwende jetzt seit ein paar Monaten die Community-firmware. Ich habe mit Hilfe eines Oszilloskops gemessen, wie regelmäßig und wie schnell der TXT einen Motorausgang takten kann. Das Programm auf dem TXT ist sehr einfach, es wechselt einfach den ausgang alle "x" milisekunden von an zu aus oder andersrum. Dabei ist mir aufgefallen, dass mein Programm auch bei langen zeiten Schwierigkeiten hatte, im richtigen moment zu takten. Nach Google-Suche hab ich dann erfahren, dass es in Qt unterschiedliche Timer gibt, und das der default ein sogennanter Coarse Timer ist, also recht grob. Es ist in PyQt prinzipiell möglich, präzisere Timer zu implementieren, theoretisch folgendermaßen:
Code: Alles auswählen
self.timer = QTimer(self)
self.timer.setTimerType(Qt.PreciseTimer)
self.timer.timeout.connect(self.on_timer)
self.timer.start(dt*1000)