Могу ли я получить запрос строки для значения и запрос строки для события, указывающего на один и тот же вывод GPIO одновременно? - PullRequest
0 голосов
/ 02 апреля 2019

Итак, я получаю доступ к чипу GPIO в Linux, используя / dev / gpiochipX и ioctls в Linux 4.14.Я хотел бы получить событие из булавки, а затем очень быстро затем прочитать значение булавки.

Сейчас я могу получить событие, зарегистрировав запрос строки для событий и перехватив событие с помощьюопрашивая его, с помощью poll (2) через что-то вроде этого:

returnValue = ioctl(fileDescriptor, GPIO_GET_LINEEVENT_IOCTL, &requestEvent);

Я бы хотел, чтобы запрос строки для значений для того же вывода был готов в фоновом режиме, чтобы я мог проверитьсостояние булавки как можно быстрее после получения события.

Однако, когда я пытаюсь зарегистрировать запрос строки для значений для одного и того же вывода с помощью чего-то вроде этого:

returnValue = ioctl(fileDescriptor, GPIO_GET_LINEHANDLE_IOCTL, &requestValue);

, Linux возвращает ошибку «Устройство или ресурс заняты».

Насколько я вижу, я должен освободить запрос строки GPIO для события, зарегистрировать запрос новой строки для значения, а затем проверить значение.

Итак, я что-то упустил или действительно невозможно получить запрос строки для событий и для значения, активного одновременно?

...