README.md

Драйвер управления вентилятором для Repka Pi

Модуль ядра Linux для управления 4-пиновым PWM-вентилятором на одноплатных компьютерах Repka Pi. Управление осуществляется посредством программного ШИМ, скорость которого зависит от температуры процессора.

Ключевые особенности

  • Программный ШИМ: Не требует аппаратного ШИМ-контроллера на GPIO.
  • Настраиваемый GPIO: Управляющий пин задаётся как параметр модуля при загрузке.

Установка

Для установки модуля из исходного кода используется Makefile.

1. Требования для сборки

Убедитесь, что в системе установлены заголовочные файлы ядра и базовые инструменты для компиляции:

sudo apt-get update
sudo apt-get install build-essential linux-headers-$(uname -r) git

2. Установка сервиса

После подготовки системы, вернитесь в корневую директорию проекта и выполните одну команду:

make install

Эта команда выполнит все необходимые шаги: 1. Скомпилирует модуль ядра. 2. Соберёт .deb пакет с версией, основанной на Git-тегах. 3. Установит пакет в систему. 4. Пропишет модуль в автозагрузку.

После установки рекомендуется перезагрузить систему (sudo reboot) или загрузить модуль вручную (sudo modprobe repka_fan_driver).


Конфигурация

Управляющий GPIO пин

По умолчанию драйвер использует GPIO пин 117 (PD21).

Для использования другого пина необходимо передать параметр ядру при загрузке. На Repka Pi это делается через файл /boot/repkaEnv.txt.

Пример для использования пина 118 (PD22): 1. Откройте файл: sudo nano /boot/repkaEnv.txt 2. Добавьте или измените переменную extra, включив в неё repka_fan_driver.pin_num=118. extra="repka_fan_driver.pin_num=118" 3. Сохраните файл и перезагрузите систему.

Проверить, какой пин используется, можно в логе ядра:

dmesg | grep "Repka Fan"

Кривая вентилятора

Кривая зависимости скорости от температуры задана в исходном коде (src/repka_fan_driver.c) в виде массива fan_curve.

  • < 45°C: 0% скорости
  • 55°C: 30% скорости
  • 65°C: 60% скорости
  • > 75°C: 100% скорости

Для изменения кривой необходимо отредактировать этот массив и переустановить модуль командой make install.


Сборка и удаление

Для управления проектом используются стандартные цели Makefile.

  • Скомпилировать модуль (без установки):

    make
    

    Результат появится в папке .build/.

  • Собрать .deb пакет (без установки):

    make package
    

    Пакет появится в корневой директории.

  • Удалить модуль из системы:

    make uninstall
    
  • Очистить проект от результатов сборки:

    make clean
    
Описание
Конвейеры
0 успешных
0 с ошибкой
Разработчики