Добрый день, коллеги!
Скажу честно, с GPIO столкнулся впервые.
Смотрел 2 способа работы: через /sys и через libgpiod. Через файлы мне понравилось куда как больше.
Чего удалось достичь: инициализировать линии, мыргать светодиодом и даже получать информацию о том в каком состоянии линия.
Остались непонятки: как выяснить какие линии являются IN и какие OUT? Выяснить не методом ручного контроля, а автоматически.
Еще, по ТЗ, требуется постоянный опрос с частотой до 10 раз в секунду, что здорово нагружает процессор.
Начал рыть и нашел некие намеки, что можно как-то сделать через event, т.е. не заниматься постоянным опросом, а использовать нечто, реагируещее на изменение состояния линии.
Нашел пример на python, там, как я понял, при возникновении изменения состояния линии, вызывается функция, которая выполняется в новом потоке.
Подскажите как «присесть» на event при работе через /sys?