Подумайте об архитектуре. В идеале у вас должен быть ЕДИНСТВЕННЫЙ цикл чтения, только чтение с аппаратного обеспечения и постановка этих данных в другой потребительский цикл.Это означает, что не следует нарушать цикл чтения при любом другом преобразовании, которое может повлиять на время, необходимое для получения данных от оборудования.
Поэтому используйте один цикл только для чтения с аппаратного обеспечения и немедленно ставьте эти данные в очередь.В другом цикле вы можете выполнить все преобразования, необходимые для этих данных и включения данных в индикаторы, что занимает, возможно, больше времени.