Переназначение Raspberry Pi GPIO - Пустышка?
Я работаю над портированием проекта с открытым исходным кодом OpenROV для Raspberry Pi. (Проект разработан для BeagleBone.) Единственной существенной проблемой порта является изменение ссылок программного обеспечения на GPIO1_0 (он же GPIO32) на вывод, открытый на заголовке Raspberry Pi (я думаю, GPIO18). Оригинальный код выглядит следующим образом:
#!/bin/sh
# GPIO1_0 equals equals /sys/class/gpio32 (32 + 0)
#see http://ninjablocks.com/blog/2012/1/20/setting-up-gpio-on-the-beaglebone.htm l
back_to_normal() {
sleep 1
#set GPIO1_0 to HIGH
echo "high" > /sys/class/gpio/gpio32/direction
}
reset() {
sleep 1
#prepare gpio
echo "32" > /sys/class/gpio/export
echo "out" >/sys/class/gpio/gpio32/direction
echo 7 > /sys/kernel/debug/omap_mux/gpmc_ad0
#set GPIO1_0 to low
echo "low" > /sys/class/gpio/gpio32/direction
back_to_normal
}
echo Initiating arduino reset 1>&2
reset &
Конечно, я мог бы просто перейти и изменить ссылку на 32 на 18, но это потребует дополнительной работы с каждым обновлением. Вместо этого, есть ли способ создать фиктивный GPIO32, который автоматически перенаправляет команды на GPIO18?
1 ответ
Я только начал играть с Raspberry Pi и его GPIO с использованием пакетов Python и RPi.GPIO linux. Я написал о своих первых простых шагах в своем блоге: Использование интерфейса Raspberry Pi GPIO.
Существует вызов, который устанавливает режим RPi.GPIO на BOARD или BCM, который изменяется между двумя конфигурациями контактов путем вызова GPIO.setmode(GPIO.BOARD) или GPIO.setmode(GPIO.BCM). Если вы посмотрите на то, что это делает, это может помочь вам с вашей проблемой.