Библиотека WiringRP для Repka Pi #
Введение #
Библиотека wiringRP предоставляет программный интерфейс для управления внешними устройствами, подключаемыми к контактам GPIO-разъёма одноплатного компьютера Repka Pi 3.
Функциональные возможности
- Контроль доступа к контактам GPIO-разъема с учетом установленной версии распиновки контактов.
- Управление режимами работы контактов ввода/вывода.
- Управление интегрированными pull up/down резисторами.
- Управление уровнем логического напряжения на контактах.
- Обработка прерываний при изменении уровня логического напряжения на контактах.
- Программная имитация работы ШИМ (программируемый аналоговый выход).
- Управление интегрированным в SoC Allwinner H5 контроллером ШИМ (PWM).
- Использование интерфейсов 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.
Стек технологий
Программное обеспечение:
- Язык программирования C11.
- Система сборки проекта CMake.
- Система контроля версий Git.
- Сервис хранения исходного кода GitFlic.
- Система документирования исходного кода Doxigen.
- Интегрированная среда разработки VS Code.
- Интегрированная среда разработки JetBrains CLion.
- Программное обеспечение для построения диаграмм (моделей) draw.io.
- Платформа для создания портала документации Docusaurus.
Аппаратное обеспечение для разработки и тестирования:
- Одноплатный компьютер Repka Pi 3 1.4 GHz, 2 Gb.
- Беспаечная макетная плата для сборки и моделирования прототипов электронных устройств.
- Т-образная плата-расширение GPIO с 40-pin шлейфом.
- Стартовый набор электронных компонентов для Arduino.
Список участников проекта:
- Сергей Шалапов (@binome196RU), автор проекта, разработка и программирование.
- Артём Юдаев (@randyswine), реинжиниринг архитектуры проекта, администрирование интернет ресурсов.
- Здесь может быть и Ваша фамилия!