comments
This commit is contained in:
@@ -235,6 +235,8 @@ class ApiListener(Node):
|
|||||||
|
|
||||||
|
|
||||||
def send_available_commands(self):
|
def send_available_commands(self):
|
||||||
|
"""Sends the available commands to the client
|
||||||
|
"""
|
||||||
print('Sending available commands')
|
print('Sending available commands')
|
||||||
requestcommands = {}
|
requestcommands = {}
|
||||||
messagetypes = {}
|
messagetypes = {}
|
||||||
@@ -249,6 +251,11 @@ class ApiListener(Node):
|
|||||||
{'type': ResponseMessage.ALL_REQUESTS_RESPONSES.name, 'data': result}))
|
{'type': ResponseMessage.ALL_REQUESTS_RESPONSES.name, 'data': result}))
|
||||||
|
|
||||||
def handle_direction_message(self, message):
|
def handle_direction_message(self, message):
|
||||||
|
"""Calls the move position service with the given values
|
||||||
|
|
||||||
|
Args:
|
||||||
|
message (JSON object): the message containing the direction values
|
||||||
|
"""
|
||||||
self.move_position_request.up_down = float(message['up_down'])
|
self.move_position_request.up_down = float(message['up_down'])
|
||||||
self.move_position_request.left_right = float(message['left_right'])
|
self.move_position_request.left_right = float(message['left_right'])
|
||||||
self.move_position_request.front_back = float(
|
self.move_position_request.front_back = float(
|
||||||
@@ -260,6 +267,7 @@ class ApiListener(Node):
|
|||||||
self.send_move_position_request()
|
self.send_move_position_request()
|
||||||
|
|
||||||
def send_move_position_request(self):
|
def send_move_position_request(self):
|
||||||
|
"""Sends the move position request to the move position service"""
|
||||||
try:
|
try:
|
||||||
self.future = self.move_position_client.call_async(
|
self.future = self.move_position_client.call_async(
|
||||||
self.move_position_request)
|
self.move_position_request)
|
||||||
@@ -281,6 +289,7 @@ class ApiListener(Node):
|
|||||||
'Something went wrong while sending a move position request!\n' + str(e))
|
'Something went wrong while sending a move position request!\n' + str(e))
|
||||||
|
|
||||||
def emergency_stop(self):
|
def emergency_stop(self):
|
||||||
|
"""Sends an emergency stop request to the failsafe service"""
|
||||||
try:
|
try:
|
||||||
self.enable_failsafe_request.message = "Emergency stop activated"
|
self.enable_failsafe_request.message = "Emergency stop activated"
|
||||||
future = self.enable_failsafe_client.call_async(self.enable_failsafe_request)
|
future = self.enable_failsafe_client.call_async(self.enable_failsafe_request)
|
||||||
@@ -292,6 +301,7 @@ class ApiListener(Node):
|
|||||||
self.get_logger().error("Something went wrong while trying to enable failsafe!\n" + str(e))
|
self.get_logger().error("Something went wrong while trying to enable failsafe!\n" + str(e))
|
||||||
|
|
||||||
def takeoff(self):
|
def takeoff(self):
|
||||||
|
"""Sends a takeoff request to the move position service"""
|
||||||
self.get_logger().info('Takeoff command received')
|
self.get_logger().info('Takeoff command received')
|
||||||
self.move_position_request.up_down = 0.1
|
self.move_position_request.up_down = 0.1
|
||||||
self.move_position_request.left_right = 0.0
|
self.move_position_request.left_right = 0.0
|
||||||
@@ -300,6 +310,7 @@ class ApiListener(Node):
|
|||||||
self.send_move_position_request()
|
self.send_move_position_request()
|
||||||
|
|
||||||
def land(self):
|
def land(self):
|
||||||
|
"""Sends a land request to the move position service"""
|
||||||
self.get_logger().info('Land command received')
|
self.get_logger().info('Land command received')
|
||||||
self.move_position_request.up_down = -0.1
|
self.move_position_request.up_down = -0.1
|
||||||
self.move_position_request.left_right = 0.0
|
self.move_position_request.left_right = 0.0
|
||||||
@@ -308,6 +319,7 @@ class ApiListener(Node):
|
|||||||
self.send_move_position_request()
|
self.send_move_position_request()
|
||||||
|
|
||||||
def arm_disarm(self):
|
def arm_disarm(self):
|
||||||
|
"""Sends an arm or disarm request to the PX4Controller"""
|
||||||
if self.armed:
|
if self.armed:
|
||||||
self.get_logger().info('Disarm command received')
|
self.get_logger().info('Disarm command received')
|
||||||
future = self.disarm_drone_client.call_async(self.disarm_drone_request)
|
future = self.disarm_drone_client.call_async(self.disarm_drone_request)
|
||||||
@@ -324,6 +336,7 @@ class ApiListener(Node):
|
|||||||
self.get_logger().info('Arm service call success')
|
self.get_logger().info('Arm service call success')
|
||||||
|
|
||||||
def consume_message(self, message):
|
def consume_message(self, message):
|
||||||
|
"""Consumes a message from the client"""
|
||||||
self.get_logger().info(f'Consuming message: {message}')
|
self.get_logger().info(f'Consuming message: {message}')
|
||||||
try:
|
try:
|
||||||
message_json = json.loads(str(message))
|
message_json = json.loads(str(message))
|
||||||
@@ -369,6 +382,11 @@ class ApiListener(Node):
|
|||||||
self.get_logger().error(str(e))
|
self.get_logger().error(str(e))
|
||||||
|
|
||||||
async def api_handler(self, websocket):
|
async def api_handler(self, websocket):
|
||||||
|
"""Handles the websocket connection
|
||||||
|
|
||||||
|
Args:
|
||||||
|
websocket (websockets object): the websocket connection
|
||||||
|
"""
|
||||||
self.get_logger().info('New connection')
|
self.get_logger().info('New connection')
|
||||||
# if self.websocket is not None:
|
# if self.websocket is not None:
|
||||||
# self.get_logger().error('Got a new websocket connection but I am already connected!')
|
# self.get_logger().error('Got a new websocket connection but I am already connected!')
|
||||||
@@ -390,6 +408,7 @@ class ApiListener(Node):
|
|||||||
|
|
||||||
|
|
||||||
def main(args=None):
|
def main(args=None):
|
||||||
|
"""Main function"""
|
||||||
rclpy.init(args=args)
|
rclpy.init(args=args)
|
||||||
|
|
||||||
api_listener = ApiListener()
|
api_listener = ApiListener()
|
||||||
|
|||||||
Reference in New Issue
Block a user