Skip to content

Commit 59e0804

Browse files
committed
magicbot: Grab entry setters in collect_feedbacks
1 parent ca789fc commit 59e0804

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

magicbot/magic_tunable.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ class MyRobot(magicbot.MagicRobot):
225225
def collect_feedbacks(component, cname: str, prefix: Optional[str] = "components"):
226226
"""
227227
Finds all methods decorated with :func:`feedback` on an object
228-
and returns a list of 2-tuples (method, NetworkTables entry).
228+
and returns a list of 2-tuples (method, NetworkTables entry setter).
229229
230230
.. note:: This isn't useful for normal use.
231231
"""
@@ -247,6 +247,7 @@ def collect_feedbacks(component, cname: str, prefix: Optional[str] = "components
247247
key = name
248248

249249
entry = nt.getEntry(key)
250-
feedbacks.append((method, entry))
250+
setter = entry.setValue
251+
feedbacks.append((method, setter))
251252

252253
return feedbacks

magicbot/magicrobot.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import hal
1111
import wpilib
1212

13-
from ntcore import NetworkTableInstance, NetworkTableEntry
13+
from ntcore import NetworkTableInstance
1414

1515
# from wpilib.shuffleboard import Shuffleboard
1616

@@ -73,7 +73,7 @@ def __init__(self) -> None:
7373
self.__last_error_report = -10
7474

7575
self._components: List[Tuple[str, Any]] = []
76-
self._feedbacks: List[Tuple[Callable[[], Any], NetworkTableEntry]] = []
76+
self._feedbacks: List[Tuple[Callable[[], Any], Callable[[Any], Any]]] = []
7777
self._reset_components: List[Tuple[Dict[str, Any], Any]] = []
7878

7979
self.__done = False
@@ -720,13 +720,13 @@ def _do_periodics(self) -> None:
720720
"""Run periodic methods which run in every mode."""
721721
watchdog = self.watchdog
722722

723-
for method, entry in self._feedbacks:
723+
for method, setter in self._feedbacks:
724724
try:
725725
value = method()
726726
except:
727727
self.onException()
728728
else:
729-
entry.setValue(value)
729+
setter(value)
730730

731731
watchdog.addEpoch("@magicbot.feedback")
732732

0 commit comments

Comments
 (0)