def open(self): logger.info("NetworkTables websocket opened") self.ioloop = IOLoop.current() self.nt = NetworkTable.getGlobalTable() NetworkTable.addGlobalListener(self.on_nt_change, immediateNotify=True) self.nt.addConnectionListener(self, immediateNotify=True)
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 self.nt = NetworkTable.getGlobalTable() NetworkTable.addGlobalListener(self._nt_on_change, immediateNotify=True) self.nt.addConnectionListener(self._nt_connected, immediateNotify=True)
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 self.nt = NetworkTable.getGlobalTable() NetworkTable.addGlobalListener(self._nt_on_change, immediateNotify=True) class Empty: pass self.conn_listener = Empty() self.conn_listener.connected = self._nt_connected self.conn_listener.disconnected = self._nt_disconnected self.nt.addConnectionListener(self.conn_listener, immediateNotify=True)
# import sys import time from networktables import NetworkTable # 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] NetworkTable.setIPAddress(ip) NetworkTable.setClientMode() NetworkTable.initialize() def valueChanged(key, value, isNew): print("valueChanged: key: '%s'; value: %s; isNew: %s" % (key, value, isNew)) NetworkTable.addGlobalListener(valueChanged) while True: time.sleep(1)
import sys import time import logging logging.basicConfig(level=logging.DEBUG) NetworkTable.setIPAddress("127.0.0.1") NetworkTable.setClientMode() NetworkTable.initialize() def foo(value): print("foo", value) def bar(value): print("bar", value) def valueChanged(key, value, isNew): print("valueChanged: %s = %s" % (key, value) ) NetworkTable.addGlobalListener(valueChanged) cc = ChooserControl("control_preset", foo, bar) sd = NetworkTable.getTable("SmartDashboard") while True: time.sleep(1)
def open(self): self.ioloop = IOLoop.current() self.nt = NetworkTable.getGlobalTable() NetworkTable.addGlobalListener(self.valueChanged, immediateNotify=True)