README.md

Библиотека wiringRP для Repka Pi

Библиотека функций WiringRP для Repka Pi предоставляет программный интерфейс для управления внешними устройствами, подключаемыми к контактам GPIO-разъёма.

Список каталогов:

  1. driver - содержит исходные коды модуля ядра repka_gpio.

  2. examples - содержит исходные коды примеров использования библиотеки.

  3. wiringRP - содержит исходные коды библиотеки WiringRP.

Для сборки проекта используйте CMake.

Важно! Для сборки ядра для RepkaOS с RT патчем (ядро 6.1.11-rt7) необходимо обновить ядро ОС с помощью утилиты repka-config (обязательно используйте последнюю версию утилиты!).

  1. Загрузите утилиту https://download.repka-pi.ru/repka-tools/repka-config/.

  2. Скопируйте загруженный файл repka-config.sh в каталог /boot.

  3. Разрешите ОС выполнять скрипт sudo chmod +x /boot/repka-config.

  4. Запустите утилиту repka-config.

  5. Зайдите в пункт System Options -> S1 Select-kernel -> ok -> выберите пункт Kernel-3 6.1.11-rt7-sunxi (с патчем PREEMPT_RT) -> Выбрать / Select

  6. Дождитесь установки пакетов, перезагрузите устройство по соответствующему запросу.

Общие действия для всех сборок RepkaOS:

  1. Установите пакеты sudo apt install cmake gdb (если ранее не устанавливали их).

  2. Создайте папку для проектов, например mkdir ~\projects && cd ~\projects.

  3. Клонируйте проект WiringRP из репозитория git clone https://gitflic.ru/project/repka_pi/wiring-repka.git.

  4. Перейдите в папку проекта cd ./wiring-repka

  5. Создайте каталог для сборки проекта mkdir build && cd build.

  6. Соберите проект и скомпилируйте его cmake .. && cmake --build ..

  7. Результаты сборки сохраняются в каталогах:

    • bin исполняемые файлы примеров;

    • driver модуль ядра repka_gpio.ko;

    • lib библиотека libwiringrp.a для статической линковки.

Примечания:

  1. WiringRP предоставляет доступ к контактам GPIO, в том числе используемым как входы/выходы контроллеров периферийных устройств с учетом текущей версии распиновки.

  2. Для включения модуля ядра repka_gpio.ko необходимо использовать следующие команды, находясь в папке проекта (например в ~\projects\wiring-repka):

insmod build/driver/repka_gpio.ko
  1. Проверить, что модуль ядра загрузился можно командой lsmod | grep repka_gpio. В случае успешной загрузки модуля ядра Вы увидите следующее:
root@Repka-Pi:~/projects/wiring-repka/# lsmod | grep repka_gpio
repka_gpio             12288  0
  1. После загрузки модуля ядра необходимо установить права доступа для символьных устройств, используемых библиотекой WiringRP.
  2. Для Repka Pi 3:
# Символьные устройства, созданные модулем ядра repka_gpio, и периферийные интерфейсы Repka Pi 3.
for dev in \
    /dev/repka_gpio* \
    /dev/gpiochip* \
    /dev/ttyS{0,2,3} \
    /dev/i2c-{1,2} \
    /dev/spidev{0.0,1.0}
do
    if [ -c "$dev" ]; then
        sudo chmod 666 "$dev"
    fi
done
  • Для Repka Pi 4:
# Символьные устройства, созданные модулем ядра repka_gpio, и периферийные интерфейсы Repka Pi 4.
for dev in \
    /dev/repka_gpio* \
    /dev/gpiochip* \
    /dev/ttyS{0,2,3} \
    /dev/i2c-{1,2,3} \
    /dev/spidev0.0
do
    if [ -c "$dev" ]; then
        sudo chmod 666 "$dev"
    fi
done
  • Для Repka Pi 5:
# Символьные устройства, созданные модулем ядра repka_gpio, и периферийные интерфейсы Repka Pi 5.
for dev in \
    /dev/repka_gpio* \
    /dev/repka_pmu{1,2} \
    /dev/repka_bus \
    /dev/repka_vccio{1_4,3_5,2,6} \
    /dev/repka_emmc \
    /dev/gpiochip* \
    /dev/ttyS{0,1} \
    /dev/i2c-{2,4,5,7,8} \
    /dev/spidev{0.0,0.1,3.0}
do
    if [ -c "$dev" ]; then
        sudo chmod 666 "$dev"
    fi
done

Сайт проекта Repka-Pi

Документация wiringRP

Описание
Библиотека функций С/С++ для управления контактами GPIO-разъема Repka Pi.
Конвейеры
0 успешных
0 с ошибкой
Разработчики