Пъезоизлучатель активируется транзисторным ключом TFT-модуля, подключён к контакту EXP1-1, и посредством кросс-платы соединяется с GPIO PD21 в версии платы под Orange Pi3 LTS, и GPIO27 в версии под Raspberry Pi
Поскольку пин управления звукоизлучателем принадлежит Linux-процессору, необходимо настроить клиппер-контроллер mcu host (если ещё не настроен) Оригинальное описание процесса настройки есть в документации клиппера https://www.klipper3d.org/RPi_microcontroller.html , ниже приводится краткая инструкци
!ВНИМАНИЕ!! Проект клиппер достаточно активно развивается, поэтому неофициальные руководства вроде данного могут устаревать. Если что-то из этого описания не получается, обратитесь к процессу настройки в оригинальной документации.
$ cd ~/klipper/
$ sudo cp ./scripts/klipper-mcu.service /etc/systemd/system/
$ sudo systemctl enable klipper-mcu.service
$ cd ~/klipper/
$ make menuconfig
Строку Microcontroller Architecture
установить в Linux process
, сохранить и выйти обратно в консоль.
Далее компилируем и устанавливаем
$ sudo service klipper stop
$ make
$ make flash
$ sudo service klipper start
Запускаем mcu host
$ sudo service klipper-mcu start
Проверяем, что процесс mcu-host работает - в директории /tmp/ должна присутствовать символическая ссылка на псевдотерминал (функциональный аналог serial-соединения c физическим последовательным портом)
$ ls -l /tmp/
lrwxrwxrwx 1 root root 10 дек 31 20:58 klipper_host_mcu -> /dev/pts/0
в файл printer.cfg добавляем секцию. Добавляем в любое удобное место, лучше всего - сразу после похожей секции [mcu]
[mcu host]
serial: /tmp/klipper_host_mcu
Сохраняем файл и производим FIRMWARE_RESTART
в printer.cfg добавляем секцию
[gcode_macro BEEP]
gcode:
{% set duration = params.P|default(100)|float %}
SET_PIN PIN=buzzer VALUE=1
G4 P{duration}
SET_PIN PIN=buzzer VALUE=0
Звуковой сигнал можно подавать, вставляя вызов макроса BEEP в G-код.
По умолчанию длительность 100мс, более длинный сигнал задаётся параметром P, например, BEEP P=1000
в printer.cfg добавляем секцию
[output_pin buzzer]
pin: host:gpiochip1/gpio117 # PD21
Сохраняем файл и производим FIRMWARE_RESTART
в printer.cfg добавляем секцию
[output_pin buzzer]
pin: host:gpiochip0/gpio27 # GPIO27
Сохраняем файл и производим FIRMWARE_RESTART