Ejemplo n.º 1
0
class SelectNavSocket(EventDispatcher, XlibSelectDevice):
    def __init__(self):
        super(SelectNavSocket, self).__init__()

        self._nav_socket = None

    def open(self):
        self._nav_socket = NavDataSocket()

        pyglet.app.platform_event_loop._select_devices.add(self)

    def close(self):
        if not self._nav_socket:
            return

        pyglet.app.platform_event_loop._select_devices.remove(self)
        self._nav_socket.close()
        self._nav_socket = None

    def fileno(self):
        return self._nav_socket.socket.fileno()

    def poll(self):
        return False

    def select(self):
        self._nav_socket.handle_socket_data()

        while self._nav_socket.has_more_nav_data():
            self.dispatch_event('on_drone_nav_data', 
                                self._nav_socket.next_nav_data())
Ejemplo n.º 2
0
from fedrone.navdata.networking import NavDataSocket
import select
import pprint

a = NavDataSocket()
while True:
    b, c, d = select.select([a.socket], [], [])

    if a.socket in b:
        a.handle_socket_data()

        while a.has_more_nav_data():
            f = a.next_nav_data()
            print f.header
            pprint.pprint(dict(f.options))
Ejemplo n.º 3
0
    def open(self):
        self._nav_socket = NavDataSocket()

        pyglet.app.platform_event_loop._select_devices.add(self)