когда-то для подобного делал следующее:
есть структура данных, которая представляет собой параметры устройства;
есть класс, который хранит два экземпляра структур с параметрами: в первом экземпляре -- данные, прочитанные с утсройства. во втором -- данные, которые выставил пользователь.
Дальше, по таймеру или через QThread, класс выполняет итерации, состоящие из:
1. опросить устройство
2. отправить желаемую конфигурацию на устройство.
в моем случае параметров было не очень много (около 7) и чтение/запись всех параметров выполнялось одной строкой. Работало довольно шустро, задержки не заметны.