По умолчанию для работы с GPIO используется метод через sysfs - это когда настройка и управление GPIO идет через папки и файлы в файловой системе ОС Linux. Это очень медленный способ управления. Подойдет только для управления реле или другими не требующими скорости задачами. Некоторые опции могут просто не заработать или сильно тормозить задачи в ПО. Работа с аппаратными интерфейсами SPI, I2C, UART на данный момент происходит так же через sysfs - это не влияет на скорость их работы.
Более скоростной способ управления GPIO - прямой доступ через память. Это индивидуальная настройка под каждый чип. Метод доступен пока только на Rapberry и Orange миникомпьютерах. Способ так же позволяет работать с ШИМ выводами.
Опция переназначения gpio используется, если номера системных GPIO имеют слишком большие номера с разбросом. В проекте же номера локальных GPIO должны быть в диапазоне от 0 до установленного значения в шестеренке. Большое число уменьшает свободные GPIO для других опций.
Опция удобна для назначения своей удобной нумерации указанной на корпусе изделия.
Для переназначения GPIO требуется создать файл в папке приложения под именем gpiomap.cfg. При отсутствии файла нумерация будет иметь стандартный вид. Изменения в файле применяются при запуске/перезапуске приложения.
В каждой новой строчке необходимо задать соответствие номеров GPIO в приложении и системные номера GPIO через знак равно. Дополнительно можно через знак равно добавить режим работы GPIO - INPUT или OUTPUT
Пример:
0=452 1=453=INPUT 2=469=OUTPUT 3=470=OUTPUT 4=471=OUTPUT 5=472=OUTPUTТакие номера используются в контроллере jethome - их нумерация выходит за возможные в приложении.