Перейти к основному содержимому

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

Введение

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

Функциональные возможности

  1. Контроль доступа к контактам GPIO-разъема с учетом установленной версии распиновки контактов.
  2. Управление режимами работы контактов ввода/вывода.
  3. Управление интегрированными pull up/down резисторами.
  4. Управление уровнем логического напряжения на контактах.
  5. Обработка прерываний при изменении уровня логического напряжения на контактах.
  6. Программная имитация работы ШИМ (программируемый аналоговый выход).
  7. Управление интегрированным в SoC Allwinner H5 контроллером ШИМ (PWM).
  8. Использование интерфейсов UART, I2C и SPI для обмена информацией с внешними устройствами, подключенными к GPIO-разъему.

«Дорожная карта»

Функции библиотеки

  • Реализация поддержки 1-Wire интерфейса.
  • Управление CIR-контроллером SoC Allwinner H5.
  • Реализация поддержки Repka Pi 4.

Драйверы внешних устройств для wiringRP.

  • Сдвиговые регистры.
    • 74HC595;
    • 74HC165.
  • Модуль АЦП/ЦАП (ADC/DAC).
    • PCF8591.
  • Модуль ШИМ (PWM).
    • PCA9685.
  • Модуль CNC для Arduino.
    • CNC Shield v3.0.

Стек технологий

Программное обеспечение:

  1. Язык программирования C11.
  2. Система сборки проекта CMake.
  3. Система контроля версий Git.
  4. Сервис хранения исходного кода GitFlic.
  5. Система документирования исходного кода Doxigen.
  6. Интегрированная среда разработки VS Code.
  7. Интегрированная среда разработки JetBrains CLion.
  8. Программное обеспечение для построения диаграмм (моделей) draw.io.
  9. Платформа для создания портала документации Docusaurus.

Аппаратное обеспечение для разработки и тестирования:

  1. Одноплатный компьютер Repka Pi 3 1.4 GHz, 2 Gb.
  2. Беспаечная макетная плата для сборки и моделирования прототипов электронных устройств.
  3. Т-образная плата-расширение GPIO с 40-pin шлейфом.
  4. Стартовый набор электронных компонентов для Arduino.

Список участников проекта:

  • Сергей Шалапов (@binome196RU), автор проекта, разработка и программирование.
  • Артём Юдаев (@randyswine), реинжиниринг архитектуры проекта, администрирование интернет ресурсов.
  • Здесь может быть и Ваша фамилия!