Колись проект Firmata допоміг мені усвідомити одну важливу ідею: сигнал може бути надлишковим, і за певних умов це може бути нормально.
Якщо під’єднати якусь умовну кнопку до GPIO пристрою з прошивкою Firmata, сконфігурувати пристрій на режим читання цього GPIO, то після цього хост отримає потік сигналів зі станом кнопки. Просто рівномірний потік даних на стандартній швидкості 57600 bps. По духу як аналогова телеметрія.
Звичний для мене підхід — передавати лише зміни стану цієї клятої кнопки. Це економно, бо ми передаємо тільки те що треба і тільки тоді коли треба. Це зручно, бо легше на такі повідомлення дивитися людськими очіма під час відлагодження, бо нема «стіни» однакових рядків.
А з іншого боку, треба пам’ятати про корінь усього зла.
Прості і тупі рішення мають свої переваги.