Skip to content

Commit

Permalink
pybricks.common.Control: Document deadzone.
Browse files Browse the repository at this point in the history
  • Loading branch information
laurensvalk committed Feb 2, 2023
1 parent 0e8b6cf commit 428bca7
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 7 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@

## Unreleased

### Added
- Documented ``integral_deadzone`` in ``Control.pid()``.

## 3.2.0 - 2022-12-20

### Changed
Expand Down
4 changes: 2 additions & 2 deletions jedi/tests/test_get_signature.py
Original file line number Diff line number Diff line change
Expand Up @@ -637,12 +637,12 @@ def _get_method_signature(module: str, type: str, method: str) -> SignatureHelp:
"kp: Optional[Number]=None",
"ki: Optional[Number]=None",
"kd: Optional[Number]=None",
"reserved: Optional[Number]=None",
"integral_deadzone: Optional[Number]=None",
"integral_rate: Optional[Number]=None",
],
"None",
),
([], "Tuple[int, int, int, None, int]"),
([], "Tuple[int, int, int, int, int]"),
],
),
pytest.param(
Expand Down
11 changes: 6 additions & 5 deletions src/pybricks/_common.py
Original file line number Diff line number Diff line change
Expand Up @@ -219,18 +219,18 @@ def pid(
kp: Optional[Number] = None,
ki: Optional[Number] = None,
kd: Optional[Number] = None,
reserved: Optional[Number] = None,
integral_deadzone: Optional[Number] = None,
integral_rate: Optional[Number] = None,
) -> None:
...

@overload
def pid(self) -> Tuple[int, int, int, None, int]:
def pid(self) -> Tuple[int, int, int, int, int]:
...

def pid(self, *args):
"""pid(kp, ki, kd, reserved, integral_rate)
pid() -> Tuple[int, int, int, None, int]
"""pid(kp, ki, kd, integral_deadzone, integral_rate)
pid() -> Tuple[int, int, int, int, int]
Gets or sets the PID values for position and speed control.
Expand All @@ -245,7 +245,8 @@ def pid(self, *args):
kd (int): Derivative position (or proportional speed) control
constant. It is the feedback torque per
unit of speed: µNm/(deg/s).
reserved: This setting is not used.
integral_deadzone (Number, deg or Number, mm): Zone around the
target where the error integral does not accumulate errors.
integral_rate (Number, deg/s or Number, mm/s): Maximum rate at
which the error integral is allowed to grow.
"""
Expand Down

0 comments on commit 428bca7

Please sign in to comment.