В настоящее время я работаю над проектом, требующим непрерывного запуска процесса в фоновом режиме, который будет выводить данные через последовательный интерфейс, и одновременно может быть активен только один из этих процессов.Нам нужно создать интерфейс с сенсорным экраном для управления этим процессом в отношении частоты дискретизации и некоторых других факторов.Проблема, которую я имею, состоит в том, как управлять этим процессом.Это запускается на Raspberry Pi 3 B +, а сенсорный экран использует Kivy.Поскольку мне нужно управлять этим с сенсорного экрана, мне нужен какой-то доступ к этому фоновому процессу для изменения значений, потому что если бы я запускал его в пользовательском интерфейсе, сенсорный экран зависал бы, потому что мне пришлось бы бросить чтение в какое-то времяистинный цикл, который никогда не выйдет.Пример того, как форматируется процесс последовательного вывода:
percent = calculate_percentage(data_rate, max_value)
while True:
percent.output_percentage()
time.sleep((1/data_rate) - 0.00055)
0,00055 - это то, сколько времени требуется для выполнения процента.output_percentage (), поскольку мы хотим максимально точную частоту дискретизации, и без этогоПринимая во внимание значение, мы получаем большое количество дрейфа, тем дольше длится процесс.Если у кого-то есть какие-либо предложения о том, как позаботиться об этом, я бы хотел их услышать.
Я бы хотел найти способ управлять этим процессом, легко изменять значения и убивать старый процесс.