mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-13 01:30:31 +08:00
minor servo fixes
This commit is contained in:
parent
c644a9f6e1
commit
a340fc6053
@ -44,15 +44,14 @@ class Plugin(PwmPlugin):
|
|||||||
period: int,
|
period: int,
|
||||||
duty_cycle_min: int,
|
duty_cycle_min: int,
|
||||||
duty_cycle_max: int,
|
duty_cycle_max: int,
|
||||||
angle_min: int,
|
angle_min: float,
|
||||||
angle_max: int,
|
angle_max: float,
|
||||||
angle_push: int,
|
angle_push: float,
|
||||||
angle_release: int,
|
angle_release: float,
|
||||||
) -> None:
|
) -> None:
|
||||||
|
|
||||||
#FIXME - Should we implement check for angles to be between the rangle ranges
|
angle_push = min(max(angle_push, angle_min), angle_max)
|
||||||
#FIXME - Same for duty_cycle_push and release to be in ranges (maybe in pwm.py)
|
angle_release = min(max(angle_release, angle_min), angle_max)
|
||||||
|
|
||||||
|
|
||||||
duty_cycle_per_degree = (duty_cycle_max - duty_cycle_min) / (angle_max - angle_min)
|
duty_cycle_per_degree = (duty_cycle_max - duty_cycle_min) / (angle_max - angle_min)
|
||||||
|
|
||||||
@ -71,19 +70,19 @@ class Plugin(PwmPlugin):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_plugin_options(cls) -> Dict:
|
def get_plugin_options(cls) -> Dict:
|
||||||
valid_angle = (lambda arg: valid_number(arg, min=-360, max=360, type=float))
|
valid_angle = (lambda arg: valid_number(arg, min=-360.0, max=360.0, type=float))
|
||||||
return {
|
return {
|
||||||
"chip": Option(0, type=valid_int_f0),
|
"chip": Option(0, type=valid_int_f0),
|
||||||
"period": Option(20000000, type=valid_int_f0),
|
"period": Option(20000000, type=valid_int_f0),
|
||||||
"duty_cycle_min": Option(1000000, type=valid_int_f0),
|
"duty_cycle_min": Option(1000000, type=valid_int_f0),
|
||||||
"duty_cycle_max": Option(2000000, type=valid_int_f0),
|
"duty_cycle_max": Option(2000000, type=valid_int_f0),
|
||||||
"angle_min": Option(0, type=valid_angle),
|
"angle_min": Option(0.0, type=valid_angle),
|
||||||
"angle_max": Option(180, type=valid_angle),
|
"angle_max": Option(180.0, type=valid_angle),
|
||||||
"angle_push": Option(100, type=valid_angle),
|
"angle_push": Option(100.0, type=valid_angle),
|
||||||
"angle_release": Option(120, type=valid_angle),
|
"angle_release": Option(120.0, type=valid_angle),
|
||||||
}
|
}
|
||||||
|
|
||||||
def __str__(self) -> str:
|
def __str__(self) -> str:
|
||||||
return f"Servo({self._instance_name})"
|
return f"Servo({self._instance_name})"
|
||||||
|
|
||||||
__repr__ = __str__
|
__repr__ = __str__
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user