Переназначение 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). Если вы посмотрите на то, что это делает, это может помочь вам с вашей проблемой.

Другие вопросы по тегам