isar 1.28.0__tar.gz → 1.28.1__tar.gz

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.

Files changed (220) hide show
  1. {isar-1.28.0 → isar-1.28.1}/PKG-INFO +1 -1
  2. {isar-1.28.0 → isar-1.28.1}/requirements.txt +12 -12
  3. {isar-1.28.0 → isar-1.28.1}/src/isar/robot/robot.py +16 -11
  4. {isar-1.28.0 → isar-1.28.1}/src/isar/robot/robot_start_mission.py +7 -1
  5. {isar-1.28.0 → isar-1.28.1}/src/isar.egg-info/PKG-INFO +1 -1
  6. {isar-1.28.0 → isar-1.28.1}/.dockerignore +0 -0
  7. {isar-1.28.0 → isar-1.28.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  8. {isar-1.28.0 → isar-1.28.1}/.github/ISSUE_TEMPLATE/feature.md +0 -0
  9. {isar-1.28.0 → isar-1.28.1}/.github/ISSUE_TEMPLATE/improvement.md +0 -0
  10. {isar-1.28.0 → isar-1.28.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  11. {isar-1.28.0 → isar-1.28.1}/.github/release.yml +0 -0
  12. {isar-1.28.0 → isar-1.28.1}/.github/workflows/compile_requirements.yml +0 -0
  13. {isar-1.28.0 → isar-1.28.1}/.github/workflows/project_automations.yml +0 -0
  14. {isar-1.28.0 → isar-1.28.1}/.github/workflows/pythonpackage.yml +0 -0
  15. {isar-1.28.0 → isar-1.28.1}/.github/workflows/pythonpublish.yml +0 -0
  16. {isar-1.28.0 → isar-1.28.1}/.github/workflows/stale.yml +0 -0
  17. {isar-1.28.0 → isar-1.28.1}/.gitignore +0 -0
  18. {isar-1.28.0 → isar-1.28.1}/.pre-commit-config.yaml +0 -0
  19. {isar-1.28.0 → isar-1.28.1}/LICENSE +0 -0
  20. {isar-1.28.0 → isar-1.28.1}/README.md +0 -0
  21. {isar-1.28.0 → isar-1.28.1}/SECURITY.md +0 -0
  22. {isar-1.28.0 → isar-1.28.1}/docs/Makefile +0 -0
  23. {isar-1.28.0 → isar-1.28.1}/docs/full_state_machine_diagram.png +0 -0
  24. {isar-1.28.0 → isar-1.28.1}/docs/make.bat +0 -0
  25. {isar-1.28.0 → isar-1.28.1}/docs/mission_state_machine_diagram.png +0 -0
  26. {isar-1.28.0 → isar-1.28.1}/docs/robot_status_state_machine_diagram.png +0 -0
  27. {isar-1.28.0 → isar-1.28.1}/docs/rst_processing.py +0 -0
  28. {isar-1.28.0 → isar-1.28.1}/docs/source/conf.py +0 -0
  29. {isar-1.28.0 → isar-1.28.1}/docs/source/index.rst +0 -0
  30. {isar-1.28.0 → isar-1.28.1}/docs/source/readme_link.md +0 -0
  31. {isar-1.28.0 → isar-1.28.1}/docs/update_state_diagram.py +0 -0
  32. {isar-1.28.0 → isar-1.28.1}/main.py +0 -0
  33. {isar-1.28.0 → isar-1.28.1}/pyproject.toml +0 -0
  34. {isar-1.28.0 → isar-1.28.1}/radixconfig.yml +0 -0
  35. {isar-1.28.0 → isar-1.28.1}/setup.cfg +0 -0
  36. {isar-1.28.0 → isar-1.28.1}/src/isar/__init__.py +0 -0
  37. {isar-1.28.0 → isar-1.28.1}/src/isar/apis/__init__.py +0 -0
  38. {isar-1.28.0 → isar-1.28.1}/src/isar/apis/api.py +0 -0
  39. {isar-1.28.0 → isar-1.28.1}/src/isar/apis/models/__init__.py +0 -0
  40. {isar-1.28.0 → isar-1.28.1}/src/isar/apis/models/models.py +0 -0
  41. {isar-1.28.0 → isar-1.28.1}/src/isar/apis/models/start_mission_definition.py +0 -0
  42. {isar-1.28.0 → isar-1.28.1}/src/isar/apis/robot_control/robot_controller.py +0 -0
  43. {isar-1.28.0 → isar-1.28.1}/src/isar/apis/schedule/__init__.py +0 -0
  44. {isar-1.28.0 → isar-1.28.1}/src/isar/apis/schedule/scheduling_controller.py +0 -0
  45. {isar-1.28.0 → isar-1.28.1}/src/isar/apis/security/__init__.py +0 -0
  46. {isar-1.28.0 → isar-1.28.1}/src/isar/apis/security/authentication.py +0 -0
  47. {isar-1.28.0 → isar-1.28.1}/src/isar/config/__init__.py +0 -0
  48. {isar-1.28.0 → isar-1.28.1}/src/isar/config/certs/ca-cert.pem +0 -0
  49. {isar-1.28.0 → isar-1.28.1}/src/isar/config/configuration_error.py +0 -0
  50. {isar-1.28.0 → isar-1.28.1}/src/isar/config/keyvault/__init__.py +0 -0
  51. {isar-1.28.0 → isar-1.28.1}/src/isar/config/keyvault/keyvault_error.py +0 -0
  52. {isar-1.28.0 → isar-1.28.1}/src/isar/config/keyvault/keyvault_service.py +0 -0
  53. {isar-1.28.0 → isar-1.28.1}/src/isar/config/log.py +0 -0
  54. {isar-1.28.0 → isar-1.28.1}/src/isar/config/logging.conf +0 -0
  55. {isar-1.28.0 → isar-1.28.1}/src/isar/config/maps/JSP1_intermediate_deck.json +0 -0
  56. {isar-1.28.0 → isar-1.28.1}/src/isar/config/maps/JSP1_weather_deck.json +0 -0
  57. {isar-1.28.0 → isar-1.28.1}/src/isar/config/maps/default_map.json +0 -0
  58. {isar-1.28.0 → isar-1.28.1}/src/isar/config/maps/klab_b.json +0 -0
  59. {isar-1.28.0 → isar-1.28.1}/src/isar/config/maps/klab_compressor.json +0 -0
  60. {isar-1.28.0 → isar-1.28.1}/src/isar/config/maps/klab_turtlebot.json +0 -0
  61. {isar-1.28.0 → isar-1.28.1}/src/isar/config/maps/turtleworld.json +0 -0
  62. {isar-1.28.0 → isar-1.28.1}/src/isar/config/predefined_mission_definition/__init__.py +0 -0
  63. {isar-1.28.0 → isar-1.28.1}/src/isar/config/predefined_mission_definition/default_exr.json +0 -0
  64. {isar-1.28.0 → isar-1.28.1}/src/isar/config/predefined_mission_definition/default_mission.json +0 -0
  65. {isar-1.28.0 → isar-1.28.1}/src/isar/config/predefined_mission_definition/default_turtlebot.json +0 -0
  66. {isar-1.28.0 → isar-1.28.1}/src/isar/config/predefined_missions/__init__.py +0 -0
  67. {isar-1.28.0 → isar-1.28.1}/src/isar/config/predefined_missions/default.json +0 -0
  68. {isar-1.28.0 → isar-1.28.1}/src/isar/config/predefined_missions/default_turtlebot.json +0 -0
  69. {isar-1.28.0 → isar-1.28.1}/src/isar/config/settings.env +0 -0
  70. {isar-1.28.0 → isar-1.28.1}/src/isar/config/settings.py +0 -0
  71. {isar-1.28.0 → isar-1.28.1}/src/isar/mission_planner/__init__.py +0 -0
  72. {isar-1.28.0 → isar-1.28.1}/src/isar/mission_planner/local_planner.py +0 -0
  73. {isar-1.28.0 → isar-1.28.1}/src/isar/mission_planner/mission_planner_interface.py +0 -0
  74. {isar-1.28.0 → isar-1.28.1}/src/isar/mission_planner/sequential_task_selector.py +0 -0
  75. {isar-1.28.0 → isar-1.28.1}/src/isar/mission_planner/task_selector_interface.py +0 -0
  76. {isar-1.28.0 → isar-1.28.1}/src/isar/models/__init__.py +0 -0
  77. {isar-1.28.0 → isar-1.28.1}/src/isar/models/communication/__init__.py +0 -0
  78. {isar-1.28.0 → isar-1.28.1}/src/isar/models/communication/message.py +0 -0
  79. {isar-1.28.0 → isar-1.28.1}/src/isar/models/communication/queues/__init__.py +0 -0
  80. {isar-1.28.0 → isar-1.28.1}/src/isar/models/communication/queues/events.py +0 -0
  81. {isar-1.28.0 → isar-1.28.1}/src/isar/models/communication/queues/queue_io.py +0 -0
  82. {isar-1.28.0 → isar-1.28.1}/src/isar/models/communication/queues/queue_timeout_error.py +0 -0
  83. {isar-1.28.0 → isar-1.28.1}/src/isar/models/communication/queues/queue_utils.py +0 -0
  84. {isar-1.28.0 → isar-1.28.1}/src/isar/models/communication/queues/status_queue.py +0 -0
  85. {isar-1.28.0 → isar-1.28.1}/src/isar/models/mission_metadata/__init__.py +0 -0
  86. {isar-1.28.0 → isar-1.28.1}/src/isar/modules.py +0 -0
  87. {isar-1.28.0 → isar-1.28.1}/src/isar/robot/robot_status.py +0 -0
  88. {isar-1.28.0 → isar-1.28.1}/src/isar/robot/robot_stop_mission.py +0 -0
  89. {isar-1.28.0 → isar-1.28.1}/src/isar/robot/robot_task_status.py +0 -0
  90. {isar-1.28.0 → isar-1.28.1}/src/isar/script.py +0 -0
  91. {isar-1.28.0 → isar-1.28.1}/src/isar/services/__init__.py +0 -0
  92. {isar-1.28.0 → isar-1.28.1}/src/isar/services/auth/__init__.py +0 -0
  93. {isar-1.28.0 → isar-1.28.1}/src/isar/services/auth/azure_credentials.py +0 -0
  94. {isar-1.28.0 → isar-1.28.1}/src/isar/services/service_connections/__init__.py +0 -0
  95. {isar-1.28.0 → isar-1.28.1}/src/isar/services/service_connections/mqtt/__init__.py +0 -0
  96. {isar-1.28.0 → isar-1.28.1}/src/isar/services/service_connections/mqtt/mqtt_client.py +0 -0
  97. {isar-1.28.0 → isar-1.28.1}/src/isar/services/service_connections/mqtt/robot_heartbeat_publisher.py +0 -0
  98. {isar-1.28.0 → isar-1.28.1}/src/isar/services/service_connections/mqtt/robot_info_publisher.py +0 -0
  99. {isar-1.28.0 → isar-1.28.1}/src/isar/services/service_connections/request_handler.py +0 -0
  100. {isar-1.28.0 → isar-1.28.1}/src/isar/services/service_connections/stid/__init__.py +0 -0
  101. {isar-1.28.0 → isar-1.28.1}/src/isar/services/utilities/__init__.py +0 -0
  102. {isar-1.28.0 → isar-1.28.1}/src/isar/services/utilities/queue_utilities.py +0 -0
  103. {isar-1.28.0 → isar-1.28.1}/src/isar/services/utilities/robot_utilities.py +0 -0
  104. {isar-1.28.0 → isar-1.28.1}/src/isar/services/utilities/scheduling_utilities.py +0 -0
  105. {isar-1.28.0 → isar-1.28.1}/src/isar/services/utilities/threaded_request.py +0 -0
  106. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/__init__.py +0 -0
  107. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/state_machine.py +0 -0
  108. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/states/__init__.py +0 -0
  109. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/states/await_next_mission.py +0 -0
  110. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/states/blocked_protective_stop.py +0 -0
  111. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/states/home.py +0 -0
  112. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/states/monitor.py +0 -0
  113. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/states/offline.py +0 -0
  114. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/states/paused.py +0 -0
  115. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/states/returning_home.py +0 -0
  116. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/states/robot_standing_still.py +0 -0
  117. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/states/stopping.py +0 -0
  118. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/states/unknown_status.py +0 -0
  119. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/states_enum.py +0 -0
  120. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/transitions/functions/fail_mission.py +0 -0
  121. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/transitions/functions/finish_mission.py +0 -0
  122. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/transitions/functions/pause.py +0 -0
  123. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/transitions/functions/resume.py +0 -0
  124. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/transitions/functions/return_home.py +0 -0
  125. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/transitions/functions/robot_status.py +0 -0
  126. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/transitions/functions/start_mission.py +0 -0
  127. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/transitions/functions/stop.py +0 -0
  128. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/transitions/functions/utils.py +0 -0
  129. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/transitions/mission.py +0 -0
  130. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/transitions/return_home.py +0 -0
  131. {isar-1.28.0 → isar-1.28.1}/src/isar/state_machine/transitions/robot_status.py +0 -0
  132. {isar-1.28.0 → isar-1.28.1}/src/isar/storage/__init__.py +0 -0
  133. {isar-1.28.0 → isar-1.28.1}/src/isar/storage/blob_storage.py +0 -0
  134. {isar-1.28.0 → isar-1.28.1}/src/isar/storage/local_storage.py +0 -0
  135. {isar-1.28.0 → isar-1.28.1}/src/isar/storage/slimm_storage.py +0 -0
  136. {isar-1.28.0 → isar-1.28.1}/src/isar/storage/storage_interface.py +0 -0
  137. {isar-1.28.0 → isar-1.28.1}/src/isar/storage/uploader.py +0 -0
  138. {isar-1.28.0 → isar-1.28.1}/src/isar/storage/utilities.py +0 -0
  139. {isar-1.28.0 → isar-1.28.1}/src/isar.egg-info/SOURCES.txt +0 -0
  140. {isar-1.28.0 → isar-1.28.1}/src/isar.egg-info/dependency_links.txt +0 -0
  141. {isar-1.28.0 → isar-1.28.1}/src/isar.egg-info/entry_points.txt +0 -0
  142. {isar-1.28.0 → isar-1.28.1}/src/isar.egg-info/requires.txt +0 -0
  143. {isar-1.28.0 → isar-1.28.1}/src/isar.egg-info/top_level.txt +0 -0
  144. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/__init__.py +0 -0
  145. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/models/__init__.py +0 -0
  146. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/models/exceptions/__init__.py +0 -0
  147. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/models/exceptions/robot_exceptions.py +0 -0
  148. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/models/initialize/__init__.py +0 -0
  149. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/models/inspection/__init__.py +0 -0
  150. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/models/inspection/inspection.py +0 -0
  151. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/models/mission/__init__.py +0 -0
  152. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/models/mission/mission.py +0 -0
  153. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/models/mission/status.py +0 -0
  154. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/models/mission/task.py +0 -0
  155. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/models/robots/__init__.py +0 -0
  156. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/models/robots/battery_state.py +0 -0
  157. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/models/robots/media.py +0 -0
  158. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/models/robots/robot_model.py +0 -0
  159. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/robot_interface.py +0 -0
  160. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/telemetry/__init__.py +0 -0
  161. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/telemetry/mqtt_client.py +0 -0
  162. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/telemetry/payloads.py +0 -0
  163. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/test_robot_interface.py +0 -0
  164. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/utilities/__init__.py +0 -0
  165. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/utilities/json_service.py +0 -0
  166. {isar-1.28.0 → isar-1.28.1}/src/robot_interface/utilities/uuid_string_factory.py +0 -0
  167. {isar-1.28.0 → isar-1.28.1}/tests/__init__.py +0 -0
  168. {isar-1.28.0 → isar-1.28.1}/tests/conftest.py +0 -0
  169. {isar-1.28.0 → isar-1.28.1}/tests/integration/__init__.py +0 -0
  170. {isar-1.28.0 → isar-1.28.1}/tests/integration/turtlebot/__init__.py +0 -0
  171. {isar-1.28.0 → isar-1.28.1}/tests/integration/turtlebot/config/__init__.py +0 -0
  172. {isar-1.28.0 → isar-1.28.1}/tests/integration/turtlebot/config/maps/__init__.py +0 -0
  173. {isar-1.28.0 → isar-1.28.1}/tests/integration/turtlebot/config/maps/turtleworld.json +0 -0
  174. {isar-1.28.0 → isar-1.28.1}/tests/integration/turtlebot/config/missions/__init__.py +0 -0
  175. {isar-1.28.0 → isar-1.28.1}/tests/integration/turtlebot/config/missions/default.json +0 -0
  176. {isar-1.28.0 → isar-1.28.1}/tests/integration/turtlebot/test_successful_mission.py +0 -0
  177. {isar-1.28.0 → isar-1.28.1}/tests/isar/__init__.py +0 -0
  178. {isar-1.28.0 → isar-1.28.1}/tests/isar/apis/__init__.py +0 -0
  179. {isar-1.28.0 → isar-1.28.1}/tests/isar/apis/models/__init__.py +0 -0
  180. {isar-1.28.0 → isar-1.28.1}/tests/isar/apis/models/example_mission_definition.json +0 -0
  181. {isar-1.28.0 → isar-1.28.1}/tests/isar/apis/models/test_start_mission_definition.py +0 -0
  182. {isar-1.28.0 → isar-1.28.1}/tests/isar/apis/scheduler/__init__.py +0 -0
  183. {isar-1.28.0 → isar-1.28.1}/tests/isar/apis/scheduler/test_scheduler_router.py +0 -0
  184. {isar-1.28.0 → isar-1.28.1}/tests/isar/apis/security/__init__.py +0 -0
  185. {isar-1.28.0 → isar-1.28.1}/tests/isar/apis/security/test_authentication.py +0 -0
  186. {isar-1.28.0 → isar-1.28.1}/tests/isar/mission/__init__.py +0 -0
  187. {isar-1.28.0 → isar-1.28.1}/tests/isar/mission/test_mission.py +0 -0
  188. {isar-1.28.0 → isar-1.28.1}/tests/isar/models/__init__.py +0 -0
  189. {isar-1.28.0 → isar-1.28.1}/tests/isar/models/communication/__init__.py +0 -0
  190. {isar-1.28.0 → isar-1.28.1}/tests/isar/models/communication/test_queues.py +0 -0
  191. {isar-1.28.0 → isar-1.28.1}/tests/isar/services/__init__.py +0 -0
  192. {isar-1.28.0 → isar-1.28.1}/tests/isar/services/readers/__init__.py +0 -0
  193. {isar-1.28.0 → isar-1.28.1}/tests/isar/services/readers/test_mission_reader.py +0 -0
  194. {isar-1.28.0 → isar-1.28.1}/tests/isar/services/service_connections/__init__.py +0 -0
  195. {isar-1.28.0 → isar-1.28.1}/tests/isar/services/service_connections/echo/__init__.py +0 -0
  196. {isar-1.28.0 → isar-1.28.1}/tests/isar/services/service_connections/test_base_request_handler.py +0 -0
  197. {isar-1.28.0 → isar-1.28.1}/tests/isar/services/utilities/__init__.py +0 -0
  198. {isar-1.28.0 → isar-1.28.1}/tests/isar/services/utilities/test_queue_utilities.py +0 -0
  199. {isar-1.28.0 → isar-1.28.1}/tests/isar/services/utilities/test_scheduling_utilities.py +0 -0
  200. {isar-1.28.0 → isar-1.28.1}/tests/isar/state_machine/__init__.py +0 -0
  201. {isar-1.28.0 → isar-1.28.1}/tests/isar/state_machine/states/__init__.py +0 -0
  202. {isar-1.28.0 → isar-1.28.1}/tests/isar/state_machine/states/test_monitor.py +0 -0
  203. {isar-1.28.0 → isar-1.28.1}/tests/isar/state_machine/test_state_machine.py +0 -0
  204. {isar-1.28.0 → isar-1.28.1}/tests/isar/storage/test_blob_storage.py +0 -0
  205. {isar-1.28.0 → isar-1.28.1}/tests/isar/storage/test_uploader.py +0 -0
  206. {isar-1.28.0 → isar-1.28.1}/tests/mocks/__init__.py +0 -0
  207. {isar-1.28.0 → isar-1.28.1}/tests/mocks/blob_storage.py +0 -0
  208. {isar-1.28.0 → isar-1.28.1}/tests/mocks/mission_definition.py +0 -0
  209. {isar-1.28.0 → isar-1.28.1}/tests/mocks/mqtt_client.py +0 -0
  210. {isar-1.28.0 → isar-1.28.1}/tests/mocks/pose.py +0 -0
  211. {isar-1.28.0 → isar-1.28.1}/tests/mocks/request.py +0 -0
  212. {isar-1.28.0 → isar-1.28.1}/tests/mocks/robot_interface.py +0 -0
  213. {isar-1.28.0 → isar-1.28.1}/tests/mocks/status.py +0 -0
  214. {isar-1.28.0 → isar-1.28.1}/tests/mocks/task.py +0 -0
  215. {isar-1.28.0 → isar-1.28.1}/tests/mocks/token.py +0 -0
  216. {isar-1.28.0 → isar-1.28.1}/tests/test_data/test_map_config/test_map_config.json +0 -0
  217. {isar-1.28.0 → isar-1.28.1}/tests/test_data/test_mission_not_working.json +0 -0
  218. {isar-1.28.0 → isar-1.28.1}/tests/test_data/test_mission_working.json +0 -0
  219. {isar-1.28.0 → isar-1.28.1}/tests/test_data/test_mission_working_no_tasks.json +0 -0
  220. {isar-1.28.0 → isar-1.28.1}/tests/test_data/test_thermal_image_mission.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: isar
3
- Version: 1.28.0
3
+ Version: 1.28.1
4
4
  Summary: Integration and Supervisory control of Autonomous Robots
5
5
  Author-email: Equinor ASA <fg_robots_dev@equinor.com>
6
6
  License: Eclipse Public License version 2.0
@@ -12,13 +12,13 @@ anyio==4.9.0
12
12
  # via
13
13
  # httpx
14
14
  # starlette
15
- azure-core==1.33.0
15
+ azure-core==1.34.0
16
16
  # via
17
17
  # azure-identity
18
18
  # azure-keyvault-secrets
19
19
  # azure-storage-blob
20
20
  # opencensus-ext-azure
21
- azure-identity==1.21.0
21
+ azure-identity==1.23.0
22
22
  # via
23
23
  # isar (pyproject.toml)
24
24
  # opencensus-ext-azure
@@ -30,20 +30,20 @@ backoff==2.2.1
30
30
  # via isar (pyproject.toml)
31
31
  cachetools==5.5.2
32
32
  # via google-auth
33
- certifi==2025.1.31
33
+ certifi==2025.4.26
34
34
  # via
35
35
  # httpcore
36
36
  # httpx
37
37
  # requests
38
38
  cffi==1.17.1
39
39
  # via cryptography
40
- charset-normalizer==3.4.1
40
+ charset-normalizer==3.4.2
41
41
  # via requests
42
- click==8.1.8
42
+ click==8.2.0
43
43
  # via
44
44
  # isar (pyproject.toml)
45
45
  # uvicorn
46
- cryptography==44.0.2
46
+ cryptography==44.0.3
47
47
  # via
48
48
  # azure-identity
49
49
  # azure-storage-blob
@@ -64,7 +64,7 @@ fastapi-azure-auth==5.1.1
64
64
  # via isar (pyproject.toml)
65
65
  google-api-core==2.24.2
66
66
  # via opencensus
67
- google-auth==2.39.0
67
+ google-auth==2.40.1
68
68
  # via google-api-core
69
69
  googleapis-common-protos==1.70.0
70
70
  # via google-api-core
@@ -85,7 +85,7 @@ isodate==0.7.2
85
85
  # via
86
86
  # azure-keyvault-secrets
87
87
  # azure-storage-blob
88
- msal==1.32.2
88
+ msal==1.32.3
89
89
  # via
90
90
  # azure-identity
91
91
  # msal-extensions
@@ -113,7 +113,7 @@ paho-mqtt==2.1.0
113
113
  # via isar (pyproject.toml)
114
114
  proto-plus==1.26.1
115
115
  # via google-api-core
116
- protobuf==6.30.2
116
+ protobuf==6.31.0
117
117
  # via
118
118
  # google-api-core
119
119
  # googleapis-common-protos
@@ -128,12 +128,12 @@ pyasn1-modules==0.4.2
128
128
  # via google-auth
129
129
  pycparser==2.22
130
130
  # via cffi
131
- pydantic==2.11.3
131
+ pydantic==2.11.4
132
132
  # via
133
133
  # fastapi
134
134
  # isar (pyproject.toml)
135
135
  # pydantic-settings
136
- pydantic-core==2.33.1
136
+ pydantic-core==2.33.2
137
137
  # via pydantic
138
138
  pydantic-settings==2.9.1
139
139
  # via isar (pyproject.toml)
@@ -161,7 +161,7 @@ requests-toolbelt==1.0.0
161
161
  # via isar (pyproject.toml)
162
162
  rsa==4.9.1
163
163
  # via google-auth
164
- scipy==1.15.2
164
+ scipy==1.15.3
165
165
  # via alitra
166
166
  six==1.17.0
167
167
  # via
@@ -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.stop_mission_thread_thread: Optional[RobotStopMissionThread] = None
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.robot_status_thread.is_alive()
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.robot_status_thread.is_alive()
50
+ and self.start_mission_thread.is_alive()
51
51
  ):
52
52
  self.start_mission_thread.join()
53
- if (
54
- self.stop_mission_thread_thread is not None
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.stop_mission_thread_thread is not None
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.stop_mission_thread_thread = RobotStopMissionThread(
112
+ self.stop_mission_thread = RobotStopMissionThread(
108
113
  self.robot_service_events, self.robot, self.signal_thread_quitting
109
114
  )
110
- self.stop_mission_thread_thread.start()
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
- trigger_event_without_data(self.robot_service_events.mission_started)
76
+
77
+ if started_mission:
78
+ trigger_event_without_data(self.robot_service_events.mission_started)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: isar
3
- Version: 1.28.0
3
+ Version: 1.28.1
4
4
  Summary: Integration and Supervisory control of Autonomous Robots
5
5
  Author-email: Equinor ASA <fg_robots_dev@equinor.com>
6
6
  License: Eclipse Public License version 2.0
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes