mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-12 17:20:30 +08:00
1. Add to /boot/config.txt
```
dtoverlay=pwm
```
2. Create /etc/udev/rules.d/99-kvmd-pwm.rules
```
SUBSYSTEM=="pwm*", ACTION=="add", RUN+="/bin/chgrp -R kvmd /sys%p", RUN+="/bin/chmod -R g=u /sys%p"
SUBSYSTEM=="pwm*", ACTION=="change", ENV{TRIGGER}!="none", RUN+="/bin/chgrp -R kvmd /sys%p", RUN+="/bin/chmod -R g=u /sys%p"
```
3. Connect Servo motor like SG90 PWM connection to RPi GPIO18, +5V and GND to a 5V and GND pin on header
4. Add to /etc/kvmd/override.yaml
```
kvmd:
gpio:
drivers:
servo1:
type: pwm
pwm_chip: 0 # PWM Chip Number
pwm_period: 20000000 # Servo Motor SG90 Period in nano-seconds
duty_cycle_push: 1500000 # Servo Motor SG90 duty_cycle for pushing button
duty_cycle_release: 1000000 # Servo Motor SG90 duty_cycle for releasing button
scheme:
short_press:
driver: servo1
pin: 0 # Pin number is the PWM channel number on the PWM Chip
mode: output
switch: false
pulse:
delay: 0.5
max_delay: 2
long_press:
driver: servo1
pin: 0 # Pin number is the PWM channel number on the PWM Chip
mode: output
switch: false
pulse:
delay: 2
max_delay: 2
extra_long_press:
driver: servo1
pin: 0 # Pin number is the PWM channel number on the PWM Chip
mode: output
switch: false
pulse:
delay: 10
max_delay: 20
view:
header:
title: Controls
table:
- ["#Servo - Short Press", "short_press|Press"]
- ["#Servo - Long Press", "long_press|Press"]
- ["#Servo - Extra Long Press", "extra_long_press|Press"]
```
44 lines
725 B
Python
44 lines
725 B
Python
InotifyMask.ACCESS
|
|
InotifyMask.ATTRIB
|
|
InotifyMask.CLOSE_WRITE
|
|
InotifyMask.CLOSE_NOWRITE
|
|
InotifyMask.CREATE
|
|
InotifyMask.DELETE
|
|
InotifyMask.DELETE_SELF
|
|
InotifyMask.MODIFY
|
|
InotifyMask.MOVE_SELF
|
|
InotifyMask.MOVED_FROM
|
|
InotifyMask.MOVED_TO
|
|
InotifyMask.OPEN
|
|
|
|
InotifyMask.IGNORED
|
|
InotifyMask.ISDIR
|
|
InotifyMask.Q_OVERFLOW
|
|
InotifyMask.UNMOUNT
|
|
|
|
IpmiServer.handle_raw_request
|
|
|
|
SpiDev.no_cs
|
|
SpiDev.cshigh
|
|
SpiDev.max_speed_hz
|
|
|
|
_AtxApiPart.switch_power
|
|
|
|
_KeyMapping.web_name
|
|
_KeyMapping.mcu_code
|
|
_KeyMapping.arduino_name
|
|
_KeyMapping.otg_key
|
|
_KeyMapping.ps2_key
|
|
_KeyMapping.at1_code
|
|
_KeyMapping.x11_keys
|
|
|
|
_SharedParams.width
|
|
_SharedParams.height
|
|
|
|
_Netcfg.net_ip
|
|
_Netcfg.net_mask
|
|
_Netcfg.dhcp_option_3
|
|
|
|
_ScriptWriter.get_args
|
|
|
|
_pwm.period_ns |