isar 1.28.0__py3-none-any.whl → 1.28.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of isar might be problematic. Click here for more details.
- isar/robot/robot.py +16 -11
- isar/robot/robot_start_mission.py +7 -1
- {isar-1.28.0.dist-info → isar-1.28.1.dist-info}/METADATA +1 -1
- {isar-1.28.0.dist-info → isar-1.28.1.dist-info}/RECORD +8 -8
- {isar-1.28.0.dist-info → isar-1.28.1.dist-info}/WHEEL +0 -0
- {isar-1.28.0.dist-info → isar-1.28.1.dist-info}/entry_points.txt +0 -0
- {isar-1.28.0.dist-info → isar-1.28.1.dist-info}/licenses/LICENSE +0 -0
- {isar-1.28.0.dist-info → isar-1.28.1.dist-info}/top_level.txt +0 -0
isar/robot/robot.py
CHANGED
|
@@ -33,7 +33,7 @@ class Robot(object):
|
|
|
33
33
|
self.start_mission_thread: Optional[RobotStartMissionThread] = None
|
|
34
34
|
self.robot_status_thread: Optional[RobotStatusThread] = None
|
|
35
35
|
self.robot_task_status_thread: Optional[RobotTaskStatusThread] = None
|
|
36
|
-
self.
|
|
36
|
+
self.stop_mission_thread: Optional[RobotStopMissionThread] = None
|
|
37
37
|
self.signal_thread_quitting: Event = Event()
|
|
38
38
|
|
|
39
39
|
def stop(self) -> None:
|
|
@@ -42,19 +42,16 @@ class Robot(object):
|
|
|
42
42
|
self.robot_status_thread.join()
|
|
43
43
|
if (
|
|
44
44
|
self.robot_task_status_thread is not None
|
|
45
|
-
and self.
|
|
45
|
+
and self.robot_task_status_thread.is_alive()
|
|
46
46
|
):
|
|
47
47
|
self.robot_task_status_thread.join()
|
|
48
48
|
if (
|
|
49
49
|
self.start_mission_thread is not None
|
|
50
|
-
and self.
|
|
50
|
+
and self.start_mission_thread.is_alive()
|
|
51
51
|
):
|
|
52
52
|
self.start_mission_thread.join()
|
|
53
|
-
if (
|
|
54
|
-
self.
|
|
55
|
-
and self.stop_mission_thread_thread.is_alive()
|
|
56
|
-
):
|
|
57
|
-
self.stop_mission_thread_thread.join()
|
|
53
|
+
if self.stop_mission_thread is not None and self.stop_mission_thread.is_alive():
|
|
54
|
+
self.stop_mission_thread.join()
|
|
58
55
|
self.robot_status_thread = None
|
|
59
56
|
self.robot_task_status_thread = None
|
|
60
57
|
self.start_mission_thread = None
|
|
@@ -92,7 +89,15 @@ class Robot(object):
|
|
|
92
89
|
def _check_and_handle_stop_mission(self, event: Queue) -> None:
|
|
93
90
|
if check_for_event(event):
|
|
94
91
|
if (
|
|
95
|
-
self.
|
|
92
|
+
self.stop_mission_thread is not None
|
|
93
|
+
and self.stop_mission_thread.is_alive()
|
|
94
|
+
):
|
|
95
|
+
self.logger.warning(
|
|
96
|
+
"Received stop mission event while trying to stop a mission. Aborting stop attempt."
|
|
97
|
+
)
|
|
98
|
+
return
|
|
99
|
+
if (
|
|
100
|
+
self.start_mission_thread is not None
|
|
96
101
|
and self.start_mission_thread.is_alive()
|
|
97
102
|
):
|
|
98
103
|
error_description = "Received stop mission event while trying to start a mission. Aborting stop attempt."
|
|
@@ -104,10 +109,10 @@ class Robot(object):
|
|
|
104
109
|
self.robot_service_events.mission_failed_to_stop, error_message
|
|
105
110
|
)
|
|
106
111
|
return
|
|
107
|
-
self.
|
|
112
|
+
self.stop_mission_thread = RobotStopMissionThread(
|
|
108
113
|
self.robot_service_events, self.robot, self.signal_thread_quitting
|
|
109
114
|
)
|
|
110
|
-
self.
|
|
115
|
+
self.stop_mission_thread.start()
|
|
111
116
|
|
|
112
117
|
def run(self) -> None:
|
|
113
118
|
self.robot_status_thread = RobotStatusThread(
|
|
@@ -61,6 +61,10 @@ class RobotStartMissionThread(Thread):
|
|
|
61
61
|
error_description=error_description,
|
|
62
62
|
),
|
|
63
63
|
)
|
|
64
|
+
break
|
|
65
|
+
|
|
66
|
+
continue
|
|
67
|
+
|
|
64
68
|
started_mission = True
|
|
65
69
|
except RobotInfeasibleMissionException as e:
|
|
66
70
|
trigger_event(
|
|
@@ -69,4 +73,6 @@ class RobotStartMissionThread(Thread):
|
|
|
69
73
|
error_reason=e.error_reason, error_description=e.error_description
|
|
70
74
|
),
|
|
71
75
|
)
|
|
72
|
-
|
|
76
|
+
|
|
77
|
+
if started_mission:
|
|
78
|
+
trigger_event_without_data(self.robot_service_events.mission_started)
|
|
@@ -50,8 +50,8 @@ isar/models/communication/queues/queue_timeout_error.py,sha256=rF8TlNF7RHS_ueTZ5
|
|
|
50
50
|
isar/models/communication/queues/queue_utils.py,sha256=wg6bIR3NS35Ek9hnGR5eN8z6i0jd5tOwM-8l30h3uiA,868
|
|
51
51
|
isar/models/communication/queues/status_queue.py,sha256=on8kvlNsG6MJjEVsyqtBswIpmOdOggQiKr7F5x0T3jw,514
|
|
52
52
|
isar/models/mission_metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
53
|
-
isar/robot/robot.py,sha256=
|
|
54
|
-
isar/robot/robot_start_mission.py,sha256=
|
|
53
|
+
isar/robot/robot.py,sha256=h-Z_1xCACekHvaj-vPJAhdzixSlcW4zMpe9__ui0zv8,5490
|
|
54
|
+
isar/robot/robot_start_mission.py,sha256=QcNtGwM8ukf6iL3830AwAnBszmVDSgYe2J_xaFYLP0g,2860
|
|
55
55
|
isar/robot/robot_status.py,sha256=j5fGq5FzpEscmqUL6i8jRWCZEJ56b2g_DUpAgWpE1YI,1935
|
|
56
56
|
isar/robot/robot_stop_mission.py,sha256=jUyfemvbyigxrlIp9aKPn-PvarhagJEgajQPS_LgJ7g,2442
|
|
57
57
|
isar/robot/robot_task_status.py,sha256=71SYPnoqaFbTe1bELLTvAUigAJ-McpomC2sjYQNQs_A,3290
|
|
@@ -103,7 +103,7 @@ isar/storage/slimm_storage.py,sha256=4YsQ1RBztfx6n3pEblwb5G3ndoQN_IZm7bujRktpTx4
|
|
|
103
103
|
isar/storage/storage_interface.py,sha256=DYDry4I7aZpDHJhsBF6s8zrgokFAc7fdKJKfA8AvL7o,828
|
|
104
104
|
isar/storage/uploader.py,sha256=XoNnDS7_ILRZMGnQCBpRERmgSbFYPfgKRYk1tNHSFxQ,6868
|
|
105
105
|
isar/storage/utilities.py,sha256=LL9XOUUYPHUQndM7pGrV-_utUQuraK-_8DDseOpVnWQ,3266
|
|
106
|
-
isar-1.28.
|
|
106
|
+
isar-1.28.1.dist-info/licenses/LICENSE,sha256=3fc2-ebLwHWwzfQbulGNRdcNob3SBQeCfEVUDYxsuqw,14058
|
|
107
107
|
robot_interface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
108
108
|
robot_interface/robot_interface.py,sha256=Bkk-joyIzRHxv8iZt7FLPFnlE8chlJad9vgjwc-fDkw,8786
|
|
109
109
|
robot_interface/test_robot_interface.py,sha256=FV1urn7SbsMyWBIcTKjsBwAG4IsXeZ6pLHE0mA9EGGs,692
|
|
@@ -127,8 +127,8 @@ robot_interface/telemetry/payloads.py,sha256=75hR-FYwmcbQVqorLzaStOrx_6DI3_CTxFp
|
|
|
127
127
|
robot_interface/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
128
128
|
robot_interface/utilities/json_service.py,sha256=qkzVkb60Gi_pto-b5n1vNzCrQze2yqgIJqSLNLYj1Fg,1034
|
|
129
129
|
robot_interface/utilities/uuid_string_factory.py,sha256=_NQIbBQ56w0qqO0MUDP6aPpHbxW7ATRhK8HnQiBSLkc,76
|
|
130
|
-
isar-1.28.
|
|
131
|
-
isar-1.28.
|
|
132
|
-
isar-1.28.
|
|
133
|
-
isar-1.28.
|
|
134
|
-
isar-1.28.
|
|
130
|
+
isar-1.28.1.dist-info/METADATA,sha256=58wexBpmUFqvZoAuimv4sOx97-V_PWO4UCCpO3kWkPQ,30709
|
|
131
|
+
isar-1.28.1.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
|
|
132
|
+
isar-1.28.1.dist-info/entry_points.txt,sha256=TFam7uNNw7J0iiDYzsH2gfG0u1eV1wh3JTw_HkhgKLk,49
|
|
133
|
+
isar-1.28.1.dist-info/top_level.txt,sha256=UwIML2RtuQKCyJJkatcSnyp6-ldDjboB9k9JgKipO-U,21
|
|
134
|
+
isar-1.28.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|