|
1 | 1 | # mav_controller.py |
2 | | -# version: 3.6.0 |
| 2 | +# version: 3.6.1 |
3 | 3 | # Author: Theodore Tasman |
4 | 4 | # Creation Date: 2025-01-30 |
5 | 5 | # Last Modified: 2026-03-16 |
@@ -288,7 +288,7 @@ async def receive_mission_ack(self, timeout: float = 5.0) -> int: |
288 | 288 | if message == self.TIMEOUT_ERROR: |
289 | 289 | self.logger.error("[Controller] Receive mission ack timed out") |
290 | 290 | return self.TIMEOUT_ERROR |
291 | | - elif message.get('type'): |
| 291 | + elif message.get('type') is not None: |
292 | 292 | if message['type'] == 0: # MAV_MISSION_ACCEPTED |
293 | 293 | self.logger.debug("[Controller] Received mission ack: MAV_MISSION_ACCEPTED") |
294 | 294 | return 0 |
@@ -399,7 +399,7 @@ async def set_mode(self, mode: str) -> int: |
399 | 399 | self.logger.error("[Controller] Set mode command timed out") |
400 | 400 | return self.TIMEOUT_ERROR |
401 | 401 | # TODO: verify command being acknowledged is MAV_CMD_DO_SET_MODE |
402 | | - elif message.get('result'): |
| 402 | + elif message.get('result') is not None: |
403 | 403 | if message['result'] == 0: |
404 | 404 | self.logger.info(f"[Controller] Set mode to {mode}") |
405 | 405 | return 0 |
@@ -442,7 +442,7 @@ async def arm(self, force=False) -> int: |
442 | 442 | return self.TIMEOUT_ERROR |
443 | 443 |
|
444 | 444 | # TODO: verify command being acknowledged is MAV_CMD_COMPONENT_ARM_DISARM |
445 | | - elif message.get('result'): |
| 445 | + elif message.get('result') is not None: |
446 | 446 | if message['result'] == 0: |
447 | 447 | self.logger.info("[Controller] Vehicle armed successfully") |
448 | 448 | return 0 |
@@ -486,7 +486,7 @@ async def disarm(self, force=False) -> int: |
486 | 486 | return self.TIMEOUT_ERROR |
487 | 487 |
|
488 | 488 | # TODO: verify command being acknowledged is MAV_CMD_COMPONENT_ARM_DISARM |
489 | | - elif message.get('result'): |
| 489 | + elif message.get('result') is not None: |
490 | 490 | if message['result'] == 0: |
491 | 491 | self.logger.info("[Controller] Disarmed successfully") |
492 | 492 | return 0 |
@@ -527,7 +527,7 @@ async def enable_geofence(self) -> int: |
527 | 527 | return self.TIMEOUT_ERROR |
528 | 528 |
|
529 | 529 | # TODO: verify command being acknowledged is MAV_CMD_DO_FENCE_ENABLE |
530 | | - elif message.get('result'): |
| 530 | + elif message.get('result') is not None: |
531 | 531 | if message['result'] == 0: |
532 | 532 | self.logger.info("[Controller] Geofence enabled successfully") |
533 | 533 | return 0 |
@@ -571,7 +571,7 @@ async def disable_geofence(self, floor_only=False) -> int: |
571 | 571 | return self.TIMEOUT_ERROR |
572 | 572 |
|
573 | 573 | # TODO: verify command being acknowledged is MAV_CMD_DO_FENCE_ENABLE |
574 | | - elif message.get('result'): |
| 574 | + elif message.get('result') is not None: |
575 | 575 | if message['result'] == 0: |
576 | 576 | self.logger.info("[Controller] Geofence disabled successfully") |
577 | 577 | return 0 |
@@ -628,7 +628,7 @@ async def set_home(self, home_coordinate=Coordinate(0, 0, 0)) -> int: |
628 | 628 | return self.TIMEOUT_ERROR |
629 | 629 |
|
630 | 630 | # TODO: verify command being acknowledged is MAV_CMD_DO_SET_HOME |
631 | | - elif message.get('result'): |
| 631 | + elif message.get('result') is not None: |
632 | 632 | if message['result'] == 0: |
633 | 633 | self.logger.info(f"[Controller] Home location set to {home_coordinate}") |
634 | 634 | return 0 |
@@ -670,7 +670,7 @@ async def set_servo(self, servo_number: int, pwm: int) -> int: |
670 | 670 | if message == self.TIMEOUT_ERROR: |
671 | 671 | self.logger.error("[Controller] Set servo command timed out") |
672 | 672 | return self.TIMEOUT_ERROR |
673 | | - elif message.get('result'): |
| 673 | + elif message.get('result') is not None: |
674 | 674 | if message['result'] == 0: |
675 | 675 | self.logger.info(f"[Controller] Set servo {servo_number} to {pwm} PWM") |
676 | 676 | return 0 |
@@ -776,7 +776,7 @@ async def receive_landing_status(self, timeout=TIMEOUT_DURATION) -> int: |
776 | 776 | if message == self.TIMEOUT_ERROR: |
777 | 777 | self.logger.error("[Controller] Receive landing status timed out") |
778 | 778 | return self.TIMEOUT_ERROR |
779 | | - elif message.get('landed_state'): |
| 779 | + elif message.get('landed_state') is not None: |
780 | 780 | self.logger.debug(f"[Controller] Received landing status: {MAVLandedState.string(message['landed_state'])}") |
781 | 781 | return message['landed_state'] if message['landed_state'] is not None else self.BAD_RESPONSE_ERROR |
782 | 782 | else: |
@@ -815,7 +815,7 @@ async def set_message_interval(self, message_type: MAVMessage, interval: int) -> |
815 | 815 | if message == self.TIMEOUT_ERROR: |
816 | 816 | self.logger.error("[Controller] Set message interval command timed out") |
817 | 817 | return self.TIMEOUT_ERROR |
818 | | - elif message.get('result'): |
| 818 | + elif message.get('result') is not None: |
819 | 819 | if message['result'] == 0: |
820 | 820 | self.logger.info(f"[Controller] Set message interval for {message_type} to {interval} μs") |
821 | 821 | return 0 |
@@ -857,7 +857,7 @@ async def disable_message_interval(self, message_type: MAVMessage) -> int: |
857 | 857 | if message == self.TIMEOUT_ERROR: |
858 | 858 | self.logger.error("[Controller] Disable message interval command timed out") |
859 | 859 | return self.TIMEOUT_ERROR |
860 | | - elif message.get('result'): |
| 860 | + elif message.get('result') is not None: |
861 | 861 | if message['result'] == 0: |
862 | 862 | self.logger.info(f"[Controller] Disabled message interval for {message_type}") |
863 | 863 | return 0 |
@@ -915,7 +915,7 @@ async def set_current_mission_index(self, index: int, reset: bool = False) -> in |
915 | 915 | if message == self.TIMEOUT_ERROR: |
916 | 916 | self.logger.error("[Controller] Set current mission index command timed out") |
917 | 917 | return self.TIMEOUT_ERROR |
918 | | - elif message.get('result'): |
| 918 | + elif message.get('result') is not None: |
919 | 919 | if message['result'] == 0: |
920 | 920 | self.logger.debug(f"[Controller] Set current mission index to {index}") |
921 | 921 | return 0 |
@@ -957,7 +957,7 @@ async def start_mission(self, start_index, end_index) -> int: |
957 | 957 | if message == self.TIMEOUT_ERROR: |
958 | 958 | self.logger.error("[Controller] Start mission command timed out") |
959 | 959 | return self.TIMEOUT_ERROR |
960 | | - elif message.get('result'): |
| 960 | + elif message.get('result') is not None: |
961 | 961 | if message['result'] == 0: |
962 | 962 | self.logger.debug(f"[Controller] Started mission from {start_index} to {end_index}") |
963 | 963 | return 0 |
|
0 commit comments