Olej писал(а): ↑25 авг 2022, 21:12
раньше дженерика gpiod ...
Код: Выделить всё
olej@raspberrypi:~/2022/kernel/examples/GPIO $ sudo apt install gpiod
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
libgpiod2
Следующие НОВЫЕ пакеты будут установлены:
gpiod libgpiod2
Обновлено 0 пакетов, установлено 2 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 57,0 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 227 kB.
Хотите продолжить? [Д/н] y
Пол:1 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf libgpiod2 armhf 1.6.2-1+rpi1 [34,3 kB]
Пол:2 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf gpiod armhf 1.6.2-1+rpi1 [22,7 kB]
Получено 57,0 kB за 1с (61,9 kB/s)
Выбор ранее не выбранного пакета libgpiod2:armhf.
(Чтение базы данных … на данный момент установлено 265236 файлов и каталогов.)
Подготовка к распаковке …/libgpiod2_1.6.2-1+rpi1_armhf.deb …
Распаковывается libgpiod2:armhf (1.6.2-1+rpi1) …
Выбор ранее не выбранного пакета gpiod.
Подготовка к распаковке …/gpiod_1.6.2-1+rpi1_armhf.deb …
Распаковывается gpiod (1.6.2-1+rpi1) …
Настраивается пакет libgpiod2:armhf (1.6.2-1+rpi1) …
Настраивается пакет gpiod (1.6.2-1+rpi1) …
Обрабатываются триггеры для man-db (2.9.4-2) …
Обрабатываются триггеры для libc-bin (2.31-13+rpt2+rpi1+deb11u3) …
И всё сразу появилось:
Код: Выделить всё
olej@raspberrypi:~/2022/kernel/examples/GPIO $ ls /bin/*gpio*
/bin/gpiodetect /bin/gpiofind /bin/gpioget /bin/gpioinfo /bin/gpiomon /bin/gpioset /bin/pigpiod /bin/raspi-gpio
olej@raspberrypi:~/2022/kernel/examples/GPIO $ ls /usr/bin/*gpio*
/usr/bin/gpiodetect /usr/bin/gpiofind /usr/bin/gpioget /usr/bin/gpioinfo /usr/bin/gpiomon /usr/bin/gpioset /usr/bin/pigpiod /usr/bin/raspi-gpio
Код: Выделить всё
root@raspberrypi:~# gpiodetect
gpiochip0 [pinctrl-bcm2835] (54 lines)
И диагностика всех линий:
Код: Выделить всё
root@raspberrypi:~# gpioinfo gpiochip0
gpiochip0 - 54 lines:
line 0: "ID_SDA" unused input active-high
line 1: "ID_SCL" unused input active-high
line 2: "SDA1" unused input active-high
line 3: "SCL1" unused input active-high
line 4: "GPIO_GCLK" unused input active-high
line 5: "GPIO5" unused input active-high
line 6: "GPIO6" unused input active-high
line 7: "SPI_CE1_N" unused input active-high
line 8: "SPI_CE0_N" unused input active-high
line 9: "SPI_MISO" unused input active-high
line 10: "SPI_MOSI" unused input active-high
line 11: "SPI_SCLK" unused input active-high
line 12: "GPIO12" unused input active-high
line 13: "GPIO13" unused input active-high
line 14: "TXD0" unused input active-high
line 15: "RXD0" unused input active-high
line 16: "GPIO16" unused output active-high
line 17: "GPIO17" unused input active-high
line 18: "GPIO18" unused input active-high
line 19: "GPIO19" unused input active-high
line 20: "GPIO20" unused input active-high
line 21: "GPIO21" unused input active-high
line 22: "GPIO22" unused input active-high
line 23: "GPIO23" unused input active-high
line 24: "GPIO24" unused input active-high
line 25: "GPIO25" unused input active-high
line 26: "GPIO26" unused input active-high
line 27: "GPIO27" unused input active-high
line 28: "SDA0" unused input active-high
line 29: "SCL0" unused input active-high
line 30: "NC" unused input active-high
line 31: "LAN_RUN" unused output active-high
line 32: "CAM_GPIO1" unused output active-high
line 33: "NC" unused input active-high
line 34: "NC" unused input active-high
line 35: "PWR_LOW_N" "led1" input active-high [used]
line 36: "NC" unused input active-high
line 37: "NC" unused input active-high
line 38: "USB_LIMIT" unused output active-high
line 39: "NC" unused input active-high
line 40: "PWM0_OUT" unused input active-high
line 41: "CAM_GPIO0" "cam1_regulator" output active-high [used]
line 42: "SMPS_SCL" unused output active-high
line 43: "SMPS_SDA" unused input active-high
line 44: "ETH_CLK" unused input active-high
line 45: "PWM1_OUT" unused input active-high
line 46: "HDMI_HPD_N" "hpd" input active-low [used]
line 47: "STATUS_LED" "led0" output active-high [used]
line 48: "SD_CLK_R" unused input active-high
line 49: "SD_CMD_R" unused input active-high
line 50: "SD_DATA0_R" unused input active-high
line 51: "SD_DATA1_R" unused input active-high
line 52: "SD_DATA2_R" unused input active-high
line 53: "SD_DATA3_R" unused input active-high
Вот почему мы могли раньше выбрать линию 16 - одну из немногих (16) свободных линий, не
занятых в работе других подсистем:
Код: Выделить всё
root@raspberrypi:~# gpioinfo gpiochip0 | grep ' "GPIO' | grep -v _
line 5: "GPIO5" unused input active-high
line 6: "GPIO6" unused input active-high
line 12: "GPIO12" unused input active-high
line 13: "GPIO13" unused input active-high
line 16: "GPIO16" unused output active-high
line 17: "GPIO17" unused input active-high
line 18: "GPIO18" unused input active-high
line 19: "GPIO19" unused input active-high
line 20: "GPIO20" unused input active-high
line 21: "GPIO21" unused input active-high
line 22: "GPIO22" unused input active-high
line 23: "GPIO23" unused input active-high
line 24: "GPIO24" unused input active-high
line 25: "GPIO25" unused input active-high
line 26: "GPIO26" unused input active-high
line 27: "GPIO27" unused input active-high
Но, в общем, всё знакомое.