mirror of
https://github.com/CopterExpress/clever-show.git
synced 2026-06-06 03:59:32 +00:00
Fixes: receiving multiple messages at once, added rospy init
This commit is contained in:
@@ -37,7 +37,8 @@ class CopterClient(client.Client):
|
||||
|
||||
@messaging.request_callback("selfcheck")
|
||||
def _response_selfcheck():
|
||||
return FlightLib.selfcheck()
|
||||
check = FlightLib.selfcheck()
|
||||
return check if check else "OK"
|
||||
|
||||
|
||||
@messaging.request_callback("batt_voltage")
|
||||
@@ -71,5 +72,6 @@ def _command_takeoff(*args, **kwargs):
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
rospy.init_node('Swarm_client', anonymous=True)
|
||||
copter_client = CopterClient()
|
||||
copter_client.start()
|
||||
|
||||
@@ -64,7 +64,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
||||
model.setData(model.index(row, col), "{} %".format(round(batt_percent, 3)))
|
||||
elif col == 4:
|
||||
if value != "OK":
|
||||
model.setData(model.index(row, col), str(value))
|
||||
model.setData(model.index(row, col), str(value)) # TODO different handling
|
||||
else:
|
||||
model.setData(model.index(row, col), str(value))
|
||||
|
||||
|
||||
@@ -229,7 +229,7 @@ class ConnectionManager(object):
|
||||
|
||||
def read(self):
|
||||
self._read()
|
||||
if self._recv_buffer:
|
||||
while self._recv_buffer:
|
||||
if not self._received_queue or (self._received_queue[0].content is not None):
|
||||
self._received_queue.appendleft(MessageManager())
|
||||
|
||||
@@ -242,9 +242,9 @@ class ConnectionManager(object):
|
||||
self._recv_buffer = self._received_queue[0].income_raw + self._recv_buffer
|
||||
self._received_queue[0].income_raw = b''
|
||||
|
||||
if self._received_queue:
|
||||
if self._received_queue[-1].content:
|
||||
self.process_received()
|
||||
if self._received_queue:
|
||||
if self._received_queue[-1].content:
|
||||
self.process_received(self._received_queue.popleft())
|
||||
|
||||
def _read(self):
|
||||
try:
|
||||
@@ -263,8 +263,7 @@ class ConnectionManager(object):
|
||||
|
||||
raise RuntimeError("Peer closed.")
|
||||
|
||||
def process_received(self):
|
||||
income_message = self._received_queue.pop()
|
||||
def process_received(self, income_message):
|
||||
message_type = income_message.jsonheader["message-type"]
|
||||
logging.debug("Received message! Header: {}, content: {}".format(
|
||||
income_message.jsonheader, income_message.content))
|
||||
|
||||
Reference in New Issue
Block a user