Python Threading. Надежность времени и python исполнение в реальном времени - PullRequest
0 голосов
/ 29 марта 2020

Мне нужна помощь с python программой с ограничением времени, работающей на Raspberry pi. Я даже не уверен, как поставить проблему, я буду стараться изо всех сил, и любые предложения по улучшению вопроса приветствуются.

У меня есть программа python, которая должна выполнять простую функцию (сэмплировать некоторые данные из входных данных и записать их в массив) каждые 50 мсек в al oop. На данный момент мы используем очень простой подход: вызвать функцию, скажем, f1, запустить таймер, выполнить функцию, f2, а когда таймер завершится, снова вызвать f1. В коде это напоминает следующее:

from threading import Timer

def f2():
   #Some logic here
   pass

def f1():
   t = Timer(0.05, f1)
   t.start()
   f2()

Насколько я знаю, ядро ​​Raspberry Pi по умолчанию совпадает с linux, что означает «мягкое реальное время». Мне было интересно, есть ли у меня какие-либо гарантии выполнения f2 () каждые 50 мс. Насколько мне известно, я бы сказал, что планировщик ядра и интерпретатор python должны соблюдать это ограничение, поэтому я не могу гарантировать, что оно действительно сработает. Любое предложение о том, как достичь того, чего я хочу или где я мог бы найти некоторые полезные ресурсы? Также это может быть слишком абстрактным вопросом для stackOverflow, лучше ли мне размещать такие вопросы? Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...