88 Commits

Author SHA1 Message Date
Maxim Devaev
27f38ef086 more msd async 2023-03-16 20:35:04 +02:00
PSc-secunet
4b80bd8e07
anelpwr.py: fix POST URL (#120)
Co-authored-by: Peter Schumann <peter.schumann@secunet.de>
2023-03-08 14:33:44 +03:00
Maxim Devaev
f652eca9c2 refactoring 2023-03-07 23:54:05 +02:00
Maxim Devaev
002031baf1 rewritten anelpwr plugin 2023-03-07 19:50:45 +02:00
PSc-secunet
d3eba45644
add support for Anel NET-PwrCtrl ADV as GPIO (#118)
Co-authored-by: Peter Schumann <peter.schumann@secunet.de>
2023-03-07 19:35:01 +03:00
Maxim Devaev
4c6511491e lint fix 2022-11-08 21:39:09 +03:00
Maxim Devaev
ee3e224e39 new typing style 2022-09-04 18:08:40 +03:00
Maxim Devaev
b94d524851 cmdret module instead of cmd.read implementation 2022-08-19 21:47:08 +03:00
Maxim Devaev
5757eba854 minor fix 2022-08-17 04:08:59 +03:00
Dylan M. Kozicki
e0513ced47
add the ability to use command exit status as a gpio state in ugpio/cmd (#112) 2022-08-17 04:02:20 +03:00
Maxim Devaev
ec9785b4be simplified AioNotifier() 2022-08-07 19:04:32 +03:00
Maxim Devaev
d21e74700a shielded some tasks 2022-08-05 18:19:31 +03:00
Maxim Devaev
508a6e9b58 refactoring 2022-07-21 01:44:44 +03:00
Marcin Mikołajczak
42c85021f7
Support for driving TESmart KVMs by RS-232 (#89)
* Fixed TESmart name casing

* Support for driving TESmart KVMs by RS-232

* Restored 0-based pin numbering
2022-07-21 00:17:10 +03:00
Maxim Devaev
43da6af153 improved subprocess cmd logging 2022-06-19 20:56:51 +03:00
Maxim Devaev
f0b5c1ebba locator plugin 2022-04-16 15:10:44 +03:00
Maxim Devaev
04e0ad213a removed unnecessary proc.returncode 2022-04-12 12:45:27 +03:00
Maxim Devaev
bd8984dd06 otgconf gpio plugin 2022-04-02 10:39:50 +03:00
Maxim Devaev
b775239d72 refactoring 2022-03-31 16:17:52 +03:00
Maxim Devaev
17412be3fe get rid of otgbind's cleanup and fixed hid for this 2022-03-31 05:41:08 +03:00
Maxim Devaev
94dca7d7c6 simplified find_udc() 2022-03-31 03:37:04 +03:00
Maxim Devaev
ed93f1f4d3 improved otgbind 2022-03-30 23:37:10 +03:00
Maxim Devaev
41d1471cd9 refactoring 2022-01-24 19:10:18 +03:00
Maxim Devaev
2396e87b70 refactoring 2022-01-24 19:09:30 +03:00
Kenny Younger
a614be7d76
PWAY plugin fix: Normalize pin/channel index to 0-based (#78)
* PWAY plugin fix: Normalize pin/channel index to 1-based

* Normalize to 0-based instead
2022-01-24 19:04:52 +03:00
Maxim Devaev
1b3a2cc3f7 copyright bump 2022-01-07 16:39:02 +03:00
Maxim Devaev
0ae6f40a67 pway fixes 2021-11-21 21:44:27 +03:00
SpookHCK
fee323ecc8
PWAY 16-port SH1601A Driver (#67)
* pway 16-port SH1601A driver

Minimum viable driver.

* Update to pWay 16-port driver

* Rename kvmd/pway.py to plugins/ugpio/pway.py

Fixed file mods

* Delete pway.py

* Update pway.py

Fixed file changes to only one...

* fixed spaces on line 181
2021-11-21 20:12:49 +03:00
Maxim Devaev
b6aaf18c42 prefix for log_process() 2021-10-24 12:06:40 +03:00
Maxim Devaev
434acc5de5 pikvm/pikvm#457: custom commands driver 2021-10-24 12:00:45 +03:00
Maxim Devaev
1c3155daec xk-hk4401: fixed regexp 2021-10-03 01:48:39 +03:00
Maxim Devaev
d0c237c177 style fix 2021-10-02 21:29:58 +03:00
Maxim Devaev
c162bb7ea4 style fixes 2021-10-02 01:47:20 +03:00
Sebastian Goscik
2f92e95bf0
Added driver for xh_hk4401 4 port HDMI/USB KVM (#69)
* Added driver for xh_hk4401 4 port HDMI/USB KVM

* Removed trailing whitespace

* Changed xh_hk4401 channel numbers

Used 0-3 to match other KVM plugins instead of the 1-4 numbering the KVM
uses.
2021-10-01 15:25:43 +03:00
Maxim Devaev
89a0ec8cc8 don't pulse ipmi gpio 2021-09-26 04:00:06 +03:00
Maxim Devaev
977c8a1ade refactoring 2021-09-24 09:33:15 +03:00
Maxim Devaev
b6a59941c8 kvmd/kvmd#62: alternative implementation 2021-09-16 09:45:10 +03:00
Maxim Devaev
8f11fa3b91 small rebranding 2021-09-08 06:47:54 +03:00
Maxim Devaev
ca812117e4 improved pins validation 2021-09-08 06:08:11 +03:00
Maxim Devaev
5d1228eb9e fix 2021-09-08 06:04:52 +03:00
Maxim Devaev
98ad1145a8 string pins 2021-09-08 05:43:36 +03:00
Maxim Devaev
cc5b2a42b8 refactoring 2021-09-07 10:31:28 +03:00
Maxim Devaev
2db0656df3 unified udc code and automatic driver detection 2021-08-28 19:01:13 +03:00
Maxim Devaev
a340fc6053 minor servo fixes 2021-08-15 10:26:13 +03:00
Shantur Rathore
c644a9f6e1
Implement servo angles (#58)
/etc/kvmd/override.yaml
```
kvmd:
    gpio:
        drivers:
            servo1:
                type: servo
                chip: 0                  # PWM Chip Number
                period: 20000000         # Servo Motor SG90 Period in nano-seconds
                duty_cycle_min: 350000   # Servo Motor SG90 duty_cycle for -90 degrees
                duty_cycle_max: 2350000  # Servo Motor SG90 duty_cycle for +90 degrees
                angle_max: 90            # Servo Motor SG90 angle at duty_cycle_max
                angle_min: -90           # Servo Motor SG90 angle at duty_cycle_min
                angle_push: 45           # Servo Motor SG90 angle to push button
                angle_release: 20        # Servo Motor SG90 angle to release 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"]
```
2021-08-15 10:15:53 +03:00
Maxim Devaev
c6c4592dfb servo template 2021-08-14 03:08:28 +03:00
Maxim Devaev
7d89a54572 refactoring 2021-08-14 02:01:37 +03:00
Shantur Rathore
e4903c5184
Implement button push using servo motors controlled via pwm (#55)
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"]
```
2021-08-14 01:14:22 +03:00
Maxim Devaev
189ff59379 refactoring 2021-07-23 20:52:47 +03:00
Maxim Devaev
bc73e74161 fixed process waiting 2021-07-23 04:33:13 +03:00