Описание WiringRP

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

Введение #

WiringRP — это библиотека на языке C, предоставляющая низкоуровневый доступ к аппаратному обеспечению одноплатных компьютеров Repka Pi. Созданная как альтернатива знаменитой WiringPi для Raspberry Pi, она предлагает простой и интуитивно понятный программный интерфейс (API) для управления GPIO и периферийными интерфейсами.

Библиотека служит надежным мостом между вашими приложениями и "железом", позволяя сосредоточиться на логике проекта, а не на сложностях работы с регистрами процессора.

Ключевые возможности #

  1. Универсальная поддержка Repka Pi 3 и 4: Один и тот же скомпилированный код работает на обеих платформах. Библиотека автоматически определяет модель платы при запуске и адаптируется под её аппаратные особенности.
  2. Полное управление GPIO:
    • Гибкая настройка режимов работы контактов (вход/выход).
    • Управление внутренними подтягивающими резисторами (pull-up/pull-down).
    • Чтение и запись цифровых сигналов (HIGH/LOW).
  3. Работа с прерываниями: Возможность асинхронно реагировать на события на пинах (нажатие кнопок, сигналы с датчиков) без постоянного опроса в цикле.
  4. Аппаратные интерфейсы: Простой и унифицированный доступ к ключевым протоколам для связи с внешними устройствами:
    • UART: для работы с последовательными портами (GPS-модули, микроконтроллеры, консольные кабели).
    • I2C: для подключения широкого спектра датчиков (акселерометры, барометры, АЦП).
    • SPI: для высокоскоростного обмена данными (дисплеи, матрицы, карты памяти).
  5. Поддержка ШИМ (PWM):
    • Программный ШИМ: Возможность генерировать ШИМ-сигнал на любом GPIO-пине для управления сервоприводами или яркостью светодиодов.
    • Аппаратный ШИМ: Прямое управление встроенным в SoC ШИМ-контроллером для генерации стабильного и точного сигнала.
  6. Адаптация под распиновки: Библиотека учитывает выбранный в repka-config вариант распиновки и корректно работает с активными в данный момент интерфейсами.

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

Мы постоянно работаем над расширением возможностей библиотеки. В ближайших планах:

  • Реализация поддержки 1-Wire интерфейса для работы с датчиками (например, DS18B20).
  • Добавление функций для управления CIR-контроллером (инфракрасный приемник), встроенным в SoC Allwinner.

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

  • Язык программирования: C11
  • Система сборки: CMake
  • Система контроля версий: Git
  • Сервис хранения исходного кода: GitFlic

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

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

Участники проекта #

  • Сергей Шалапов (@binome196RU): Автор проекта, первоначальная разработка и программирование.
  • Артём Юдаев (@randyswine): Реинжиниринг архитектуры проекта, администрирование интернет-ресурсов.
  • tsp-hork (@Ty65784): Портирование на Repka Pi 4.
  • Здесь может быть и Ваша фамилия!

3021 просмотров0 комментариев

Комментарии (0)

Для участия в обсуждении Вы должны быть авторизованным пользователем
Разделы

Навигация

ВойтиРегистрация