def __init__(self, update_callback): """ :param update_callback: A callable with signature ```callable(update)``` for processing outgoing updates formatted as strings. """ self.update_callback = update_callback NetworkTables.addGlobalListener(self._nt_on_change, immediateNotify=True) NetworkTables.addConnectionListener(self._nt_connected, immediateNotify=True)
# values, which prints out all changes. Note that the keys are full paths, and # not just individual key values. # import sys import time from networktables import NetworkTables # To see messages from networktables, you must setup logging import logging logging.basicConfig(level=logging.DEBUG) if len(sys.argv) != 2: print("Error: specify an IP to connect to!") exit(0) ip = sys.argv[1] NetworkTables.initialize(server=ip) def valueChanged(key, value, isNew): print("valueChanged: key: '%s'; value: %s; isNew: %s" % (key, value, isNew)) NetworkTables.addGlobalListener(valueChanged) while True: time.sleep(1)
def open(self): """ Add NetworkTables listeners """ NetworkTables.addGlobalListener(self._nt_on_change, immediateNotify=True) NetworkTables.addConnectionListener(self._nt_connected, immediateNotify=True)