From bd8fad45e0d09ff1500d6e07be31c33ee662d060 Mon Sep 17 00:00:00 2001 From: martind Date: Mon, 2 Mar 2015 19:05:45 +0100 Subject: [PATCH] workaround for parseData asserts --- bebop.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/bebop.py b/bebop.py index d153fda..26fd903 100644 --- a/bebop.py +++ b/bebop.py @@ -79,6 +79,13 @@ def _update( self, cmd ): data, self.buf = cutPacket( self.buf ) return data + def _parseData( self, data ): + try: + parseData( data, robot=self, verbose=False ) + except AssertionError, e: + print "AssertionError", e + + def update( self, cmd ): "send command and return navdata" if cmd is None: @@ -87,10 +94,10 @@ def update( self, cmd ): data = self._update( packData(cmd) ) while True: if ackRequired(data): - parseData( data, robot=self, verbose=False ) + self._parseData( data ) data = self._update( createAckPacket(data) ) elif pongRequired(data): - parseData( data, robot=self, verbose=False ) # update self.time + self._parseData( data ) # update self.time data = self._update( createPongPacket(data) ) elif videoAckRequired(data): if self.videoCbk: @@ -98,7 +105,7 @@ def update( self, cmd ): data = self._update( createVideoAckPacket(data) ) else: break - parseData( data, robot=self, verbose=False ) + self._parseData( data ) return data def config( self ):