Модули WBIO (работа по GPIO)

Старые контроллеры - это какие?

Пакет gpiod есть в последнем stable.

По-моему вы как-то не очень адекватно реагируете на все наши попытки вам помочь. В линусе пять лет назад перешли на другую схему работы с GPIO, не ту, к которой вы привыкли. Мы в этом что ли виноваты?

Ну вот как на это реагировать? То есть я не прав, вы не программист и по какой-то причине не можете править код своего софта? Ну так напишите это, мы будем какое-то другое решение вам предлагать, которое не предполагает внесение изменений в ПО.

Если вы хотите пользоваться старым интерфейсом GPIO, то вам нужно как-то вычислять “старые” (глобальные) номера GPIO. Чтобы получить номера гпио для старого интерфейса вам нужно найти номер gpiochip-а, смещение внутри gpiochip-а и базовый адрес gpiochip-а.

Как-то так:

root@wirenboard-AHIN3TB:~# gpiofind "A1 OUT"
gpiochip0 109
root@wirenboard-AHIN3TB:~# cat /sys/class/gpio/gpiochip0/base 
0

Т.е. для A1 OUT будет старый номер 0 (base) + 109 (offset) = 109.
Проверить можно в отладочном интерфейсе, первый столбец:

root@wirenboard-AHIN3TB:~# cat /sys/kernel/debug/gpio  | grep "A1 OUT"
 gpio-109 (A1 OUT              |wb-mqtt-gpio        ) out lo 

для модулей расширения - всё аналогично.

И да, это общелинуксовые штуки, никак не специфичные для нашего контроллера. Новый интерфейс в ядре уже лет пять как, “левые утилиты” и “эти либы” тоже стандартные.

1 лайк

А мне как на это гениальное умозаключение реагировать? Правильный ответ - никак.

Debian stretch как раз примерно такого же возраста и что? Старый метод еще никто не отменял, хоть и считается deprecated.

Я же сказал уже, что нашел способ определять нужные мне адреса.
Работоспособность интеграции восстановлена, по старому способу работы с GPIO (что не означает плохому). Вот когда его совсем отключат, тогда и переделаем.

В вашей же вики написано что эта либа на 9 дебиан без стороннего репозитория не ставится. Как я написал выше, она и со сторонним репозиторием не ставится.

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

Для истории: в наш репозиторий stretch (релиз 2207) пакет gpiod был добавлен на прошлой неделе, документацию тоже обновили. В документации теперь описана работа через новый и через устаревший интерфейсы.

2 лайка

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.