bluer-ugv 7.524.1__tar.gz → 7.539.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.
Files changed (223) hide show
  1. {bluer_ugv-7.524.1/bluer_ugv.egg-info → bluer_ugv-7.539.1}/PKG-INFO +2 -2
  2. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/README.md +1 -1
  3. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/env/set.sh +4 -0
  4. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/swallow/digital/design/__init__.py +2 -17
  5. bluer_ugv-7.539.1/bluer_ugv/README/swallow/digital/design/parts.py +21 -0
  6. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/__init__.py +1 -1
  7. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/help/swallow/env.py +4 -2
  8. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/camera/__init__.py +3 -0
  9. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/camera/generic.py +0 -3
  10. bluer_ugv-7.539.1/bluer_ugv/swallow/session/classical/camera/void.py +9 -0
  11. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/screen/classes.py +5 -1
  12. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/session.py +19 -9
  13. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1/bluer_ugv.egg-info}/PKG-INFO +2 -2
  14. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv.egg-info/SOURCES.txt +2 -0
  15. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/LICENSE +0 -0
  16. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/MANIFEST.in +0 -0
  17. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/abcli.sh +0 -0
  18. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/actions.sh +0 -0
  19. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/aka.sh +0 -0
  20. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/alias.sh +0 -0
  21. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/bluer_ugv.sh +0 -0
  22. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/dataset/combine.sh +0 -0
  23. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/dataset/download.sh +0 -0
  24. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/dataset/edit.sh +0 -0
  25. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/dataset/list.sh +0 -0
  26. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/dataset/upload.sh +0 -0
  27. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/dataset.sh +0 -0
  28. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/debug.sh +0 -0
  29. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/env/cp.sh +0 -0
  30. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/env/list.sh +0 -0
  31. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/env.sh +0 -0
  32. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/keyboard/test.sh +0 -0
  33. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/keyboard.sh +0 -0
  34. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/select_target.sh +0 -0
  35. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/session.sh +0 -0
  36. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/ultrasonic/review.sh +0 -0
  37. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/ultrasonic/test.sh +0 -0
  38. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/ultrasonic.sh +0 -0
  39. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/video/play.sh +0 -0
  40. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/video/playlist/cat.sh +0 -0
  41. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/video/playlist/download.sh +0 -0
  42. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/video/playlist/edit.sh +0 -0
  43. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/video/playlist/upload.sh +0 -0
  44. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/video/playlist.sh +0 -0
  45. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow/video.sh +0 -0
  46. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/swallow.sh +0 -0
  47. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/tests/README.sh +0 -0
  48. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/tests/help.sh +0 -0
  49. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine.sh +0 -0
  50. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine_explicit.sh +0 -0
  51. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine_sequence.sh +0 -0
  52. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/tests/swallow_dataset_download_upload.sh +0 -0
  53. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/tests/swallow_dataset_edit.sh +0 -0
  54. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/tests/swallow_dataset_list.sh +0 -0
  55. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/tests/swallow_video_play.sh +0 -0
  56. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/tests/swallow_video_playlist.sh +0 -0
  57. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/tests/ultrasonic_sensor_review.sh +0 -0
  58. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/tests/version.sh +0 -0
  59. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/.abcli/ugv/git.sh +0 -0
  60. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/__init__.py +0 -0
  61. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/alias.py +0 -0
  62. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/arzhang/__init__.py +0 -0
  63. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/arzhang/algo.py +0 -0
  64. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/arzhang/consts.py +0 -0
  65. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/arzhang/design.py +0 -0
  66. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/arzhang/flag.py +0 -0
  67. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/arzhang/items.py +0 -0
  68. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/beast.py +0 -0
  69. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/build.py +0 -0
  70. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/computer/__init__.py +0 -0
  71. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/computer/box.py +0 -0
  72. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/computer/docs.py +0 -0
  73. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/computer/power.py +0 -0
  74. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/computer/schematics.py +0 -0
  75. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/computer/shield/__init__.py +0 -0
  76. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/computer/shield/docs.py +0 -0
  77. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/computer/shield/testing.py +0 -0
  78. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/computer/shield/v1.py +0 -0
  79. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/computer/shield/v2.py +0 -0
  80. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/computer/testing.py +0 -0
  81. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/consts.py +0 -0
  82. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/eagle/__init__.py +0 -0
  83. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/eagle/consts.py +0 -0
  84. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/eagle/items.py +0 -0
  85. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/fire/__init__.py +0 -0
  86. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/fire/consts.py +0 -0
  87. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/fire/items.py +0 -0
  88. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/items.py +0 -0
  89. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/rangin/__init__.py +0 -0
  90. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/rangin/consts.py +0 -0
  91. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/rangin/items.py +0 -0
  92. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ravin/__init__.py +0 -0
  93. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ravin/consts.py +0 -0
  94. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ravin/items.py +0 -0
  95. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/releases.py +0 -0
  96. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/root.py +0 -0
  97. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/shortcuts.py +0 -0
  98. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/swallow/__init__.py +0 -0
  99. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/swallow/analog.py +0 -0
  100. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/swallow/consts.py +0 -0
  101. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/swallow/digital/__init__.py +0 -0
  102. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/swallow/digital/algo/__init__.py +0 -0
  103. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/swallow/digital/algo/navigation.py +0 -0
  104. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/swallow/digital/algo/yolo.py +0 -0
  105. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/swallow/digital/design/mechanical.py +0 -0
  106. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/swallow/digital/design/ultrasonic_sensor.py +0 -0
  107. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/swallow/items.py +0 -0
  108. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/__init__.py +0 -0
  109. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/__init__.py +0 -0
  110. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/build.py +0 -0
  111. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/features/DYI.py +0 -0
  112. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/features/__init__.py +0 -0
  113. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/features/classes.py +0 -0
  114. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/features/concealment.py +0 -0
  115. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/features/control.py +0 -0
  116. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/features/cost.py +0 -0
  117. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/features/db.py +0 -0
  118. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/features/payload.py +0 -0
  119. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/features/ps.py +0 -0
  120. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/features/range.py +0 -0
  121. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/features/sanction_proof.py +0 -0
  122. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/features/size.py +0 -0
  123. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/features/speed.py +0 -0
  124. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/features/swarm.py +0 -0
  125. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/features/uv_delivery.py +0 -0
  126. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/references/__init__.py +0 -0
  127. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/references/classes.py +0 -0
  128. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/references/db.py +0 -0
  129. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/ugvs/__init__.py +0 -0
  130. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/ugvs/classes.py +0 -0
  131. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/comparison/ugvs/db.py +0 -0
  132. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/db.py +0 -0
  133. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/README/ugvs/docs.py +0 -0
  134. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/__main__.py +0 -0
  135. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/assets/comparison.html +0 -0
  136. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/config.env +0 -0
  137. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/designs/__init__.py +0 -0
  138. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/designs/eagle/__init__.py +0 -0
  139. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/designs/eagle/parts.py +0 -0
  140. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/designs/fire/__init__.py +0 -0
  141. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/designs/fire/parts.py +0 -0
  142. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/designs/rangin/__init__.py +0 -0
  143. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/designs/rangin/parts.py +0 -0
  144. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/designs/ravin/__init__.py +0 -0
  145. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/designs/ravin/ravin3/__init__.py +0 -0
  146. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/designs/ravin/ravin3/parts.py +0 -0
  147. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/designs/ravin/ravin4/__init__.py +0 -0
  148. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/designs/ravin/ravin4/parts.py +0 -0
  149. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/env.py +0 -0
  150. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/help/__init__.py +0 -0
  151. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/help/__main__.py +0 -0
  152. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/help/functions.py +0 -0
  153. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/help/git.py +0 -0
  154. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/help/swallow/__init__.py +0 -0
  155. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/help/swallow/dataset.py +0 -0
  156. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/help/swallow/debug.py +0 -0
  157. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/help/swallow/keyboard.py +0 -0
  158. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/help/swallow/select_target.py +0 -0
  159. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/help/swallow/ultrasonic_sensor.py +0 -0
  160. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/help/swallow/video/__init__.py +0 -0
  161. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/help/swallow/video/functions.py +0 -0
  162. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/help/swallow/video/playlist.py +0 -0
  163. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/host.py +0 -0
  164. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/logger.py +0 -0
  165. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/sample.env +0 -0
  166. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/__init__.py +0 -0
  167. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/__main__.py +0 -0
  168. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/dataset/__init__.py +0 -0
  169. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/dataset/__main__.py +0 -0
  170. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/dataset/combination.py +0 -0
  171. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/debug.py +0 -0
  172. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/__init__.py +0 -0
  173. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/__main__.py +0 -0
  174. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/__init__.py +0 -0
  175. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/camera/navigation.py +0 -0
  176. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/camera/tracking.py +0 -0
  177. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/camera/yolo.py +0 -0
  178. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/keyboard/__init__.py +0 -0
  179. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/keyboard/__main__.py +0 -0
  180. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/keyboard/classes.py +0 -0
  181. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/keyboard/keys.py +0 -0
  182. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/keyboard/testing.py +0 -0
  183. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/leds.py +0 -0
  184. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/mode.py +0 -0
  185. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/motor/__init__.py +0 -0
  186. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/motor/generic.py +0 -0
  187. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/motor/left.py +0 -0
  188. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/motor/rear.py +0 -0
  189. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/motor/right.py +0 -0
  190. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/motor/steering.py +0 -0
  191. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/mousepad.py +0 -0
  192. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/position.py +0 -0
  193. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/push_button.py +0 -0
  194. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/screen/__init__.py +0 -0
  195. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/screen/video/__init__.py +0 -0
  196. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/screen/video/__main__.py +0 -0
  197. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/screen/video/engine.py +0 -0
  198. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/screen/video/player.py +0 -0
  199. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/screen/video/playlist.py +0 -0
  200. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/setpoint/__init__.py +0 -0
  201. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/setpoint/classes.py +0 -0
  202. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/setpoint/steering.py +0 -0
  203. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/__init__.py +0 -0
  204. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/__main__.py +0 -0
  205. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/classes.py +0 -0
  206. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/consts.py +0 -0
  207. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/detection.py +0 -0
  208. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/detection_list.py +0 -0
  209. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/log.py +0 -0
  210. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/pack.py +0 -0
  211. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/review.py +0 -0
  212. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/sensor.py +0 -0
  213. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/testing.py +0 -0
  214. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/session/functions.py +0 -0
  215. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/swallow/targeting.py +0 -0
  216. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv/urls.py +0 -0
  217. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv.egg-info/dependency_links.txt +0 -0
  218. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv.egg-info/requires.txt +0 -0
  219. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/bluer_ugv.egg-info/top_level.txt +0 -0
  220. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/pyproject.toml +0 -0
  221. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/requirements.txt +0 -0
  222. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/setup.cfg +0 -0
  223. {bluer_ugv-7.524.1 → bluer_ugv-7.539.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_ugv
3
- Version: 7.524.1
3
+ Version: 7.539.1
4
4
  Summary: 🐬 AI x UGV.
5
5
  Home-page: https://github.com/kamangir/bluer-ugv
6
6
  Author: Arash Abadpour (Kamangir)
@@ -64,7 +64,7 @@ pip install bluer_ugv
64
64
 
65
65
  [![pylint](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml) [![pytest](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml) [![bashtest](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml) [![PyPI version](https://img.shields.io/pypi/v/bluer-ugv.svg)](https://pypi.org/project/bluer-ugv/) [![PyPI - Downloads](https://img.shields.io/pypi/dd/bluer-ugv)](https://pypistats.org/packages/bluer-ugv)
66
66
 
67
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.524.1`](https://github.com/kamangir/bluer-ugv).
67
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.539.1`](https://github.com/kamangir/bluer-ugv).
68
68
 
69
69
 
70
70
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
@@ -35,5 +35,5 @@ pip install bluer_ugv
35
35
 
36
36
  [![pylint](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml) [![pytest](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml) [![bashtest](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml) [![PyPI version](https://img.shields.io/pypi/v/bluer-ugv.svg)](https://pypi.org/project/bluer-ugv/) [![PyPI - Downloads](https://img.shields.io/pypi/dd/bluer-ugv)](https://pypistats.org/packages/bluer-ugv)
37
37
 
38
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.524.1`](https://github.com/kamangir/bluer-ugv).
38
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.539.1`](https://github.com/kamangir/bluer-ugv).
39
39
 
@@ -5,8 +5,12 @@ function bluer_ugv_swallow_env_set() {
5
5
 
6
6
  if [[ "$var_name" == "bps" ]]; then
7
7
  var_name=BLUER_SBC_SWALLOW_HAS_BPS
8
+ elif [[ "$var_name" == "camera" ]]; then
9
+ var_name=BLUER_SBC_SWALLOW_HAS_CAMERA
8
10
  elif [[ "$var_name" == "full_keyboard" ]]; then
9
11
  var_name=BLUER_SBC_SWALLOW_HAS_FULL_KEYBOARD
12
+ elif [[ "$var_name" == "screen" ]]; then
13
+ var_name=BLUER_SBC_ENABLE_SCREEN
10
14
  elif [[ "$var_name" == "steering" ]]; then
11
15
  var_name=BLUER_SBC_SWALLOW_HAS_STEERING
12
16
  else
@@ -1,14 +1,12 @@
1
1
  from bluer_objects.README.items import ImageItems
2
- from bluer_sbc.parts.db import db_of_parts
3
- from bluer_sbc.parts.consts import parts_url_prefix
4
2
 
5
3
  from bluer_ugv.README.swallow.consts import (
6
4
  swallow_assets2,
7
5
  swallow_electrical_designs,
8
6
  )
9
- from bluer_ugv.designs.swallow.parts import dict_of_parts
10
7
  from bluer_ugv.README.swallow.digital.design import (
11
8
  mechanical,
9
+ parts,
12
10
  ultrasonic_sensor,
13
11
  )
14
12
  from bluer_ugv.swallow.session.classical.keyboard.keys import ControlKeys
@@ -32,20 +30,6 @@ docs = (
32
30
  "keys:::": ControlKeys.as_table(),
33
31
  },
34
32
  },
35
- {
36
- "path": "../docs/swallow/digital/design/parts.md",
37
- "items": db_of_parts.as_images(
38
- dict_of_parts,
39
- reference=parts_url_prefix,
40
- ),
41
- "macros": {
42
- "parts:::": db_of_parts.as_list(
43
- dict_of_parts,
44
- reference=parts_url_prefix,
45
- log=False,
46
- ),
47
- },
48
- },
49
33
  {
50
34
  "path": "../docs/swallow/digital/design/terraform.md",
51
35
  "items": ImageItems(
@@ -78,5 +62,6 @@ docs = (
78
62
  },
79
63
  ]
80
64
  + mechanical.docs
65
+ + parts.docs
81
66
  + ultrasonic_sensor.docs
82
67
  )
@@ -0,0 +1,21 @@
1
+ from bluer_sbc.parts.db import db_of_parts
2
+ from bluer_sbc.parts.consts import parts_url_prefix
3
+
4
+ from bluer_ugv.designs.swallow.parts import dict_of_parts
5
+
6
+ docs = [
7
+ {
8
+ "path": "../docs/swallow/digital/design/parts.md",
9
+ "items": db_of_parts.as_images(
10
+ dict_of_parts,
11
+ reference=parts_url_prefix,
12
+ ),
13
+ "macros": {
14
+ "parts:::": db_of_parts.as_list(
15
+ dict_of_parts,
16
+ reference=parts_url_prefix,
17
+ log=False,
18
+ ),
19
+ },
20
+ },
21
+ ]
@@ -4,7 +4,7 @@ ICON = "🐬"
4
4
 
5
5
  DESCRIPTION = f"{ICON} AI x UGV."
6
6
 
7
- VERSION = "7.524.1"
7
+ VERSION = "7.539.1"
8
8
 
9
9
  REPO_NAME = "bluer-ugv"
10
10
 
@@ -15,7 +15,7 @@ def help_cp(
15
15
  "cp",
16
16
  "[<env-name>]",
17
17
  ],
18
- "cp swallow swallow-raspbian-<env-name>.env.",
18
+ "cp swallow-raspbian-<env-name>.env.",
19
19
  mono=mono,
20
20
  )
21
21
 
@@ -44,13 +44,15 @@ def help_set(
44
44
  "@swallow",
45
45
  "env",
46
46
  "set",
47
- "bps | full_keyboard | steering",
47
+ "bps | camera | full_keyboard | screen | steering",
48
48
  "0 | 1",
49
49
  ],
50
50
  "set env.",
51
51
  {
52
52
  f"bps: BLUER_SBC_SWALLOW_HAS_BPS (currently: {env.BLUER_SBC_SWALLOW_HAS_BPS})": "",
53
+ f"camera: BLUER_SBC_SWALLOW_HAS_CAMERA (currently: {env.BLUER_SBC_SWALLOW_HAS_CAMERA})": "",
53
54
  f"full_keyboard: BLUER_SBC_SWALLOW_HAS_FULL_KEYBOARD (currently: {env.BLUER_SBC_SWALLOW_HAS_FULL_KEYBOARD})": "",
55
+ f" screen: BLUER_SBC_ENABLE_SCREEN (currently: {env.BLUER_SBC_ENABLE_SCREEN})"
54
56
  f"steering: BLUER_SBC_SWALLOW_HAS_STEERING (currently: {env.BLUER_SBC_SWALLOW_HAS_STEERING})": "",
55
57
  },
56
58
  mono=mono,
@@ -7,6 +7,9 @@ from bluer_ugv.swallow.session.classical.camera.navigation import (
7
7
  from bluer_ugv.swallow.session.classical.camera.tracking import (
8
8
  ClassicalTrackingCamera,
9
9
  )
10
+ from bluer_ugv.swallow.session.classical.camera.void import (
11
+ ClassicalVoidCamera,
12
+ )
10
13
  from bluer_ugv.swallow.session.classical.camera.yolo import (
11
14
  ClassicalYoloCamera,
12
15
  )
@@ -2,12 +2,10 @@ from typing import Any
2
2
 
3
3
  from bluer_algo.socket.connection import SocketConnection, DEV_HOST
4
4
  from bluer_sbc.imager.camera import instance as camera
5
- from bluer_sbc.env import BLUER_SBC_ENV
6
5
 
7
6
  from bluer_ugv.swallow.session.classical.keyboard.classes import ClassicalKeyboard
8
7
  from bluer_ugv.swallow.session.classical.leds import ClassicalLeds
9
8
  from bluer_ugv.swallow.session.classical.setpoint.classes import ClassicalSetPoint
10
- from bluer_ugv.logger import logger
11
9
 
12
10
 
13
11
  class ClassicalCamera:
@@ -18,7 +16,6 @@ class ClassicalCamera:
18
16
  setpoint: ClassicalSetPoint,
19
17
  object_name: str,
20
18
  ):
21
- logger.info(f"sbc.env: {BLUER_SBC_ENV}")
22
19
 
23
20
  self.keyboard = keyboard
24
21
  self.leds = leds
@@ -0,0 +1,9 @@
1
+ from bluer_ugv.swallow.session.classical.camera.generic import ClassicalCamera
2
+
3
+
4
+ class ClassicalVoidCamera(ClassicalCamera):
5
+ def initialize(self) -> bool:
6
+ return True
7
+
8
+ def cleanup(self):
9
+ pass
@@ -1,5 +1,7 @@
1
1
  from bluer_options.host.functions import is_headless
2
2
 
3
+ from bluer_sbc.env import BLUER_SBC_ENABLE_SCREEN
4
+
3
5
  from bluer_ugv import env
4
6
  from bluer_ugv.swallow.session.classical.screen.video.player import VideoPlayer
5
7
  from bluer_ugv.swallow.session.classical.screen.video.playlist import PlayList
@@ -8,7 +10,9 @@ from bluer_ugv.logger import logger
8
10
 
9
11
  class ClassicalScreen:
10
12
  def __init__(self):
11
- self.video_player = None if is_headless() else VideoPlayer()
13
+ self.video_player = (
14
+ None if (is_headless() or BLUER_SBC_ENABLE_SCREEN == 0) else VideoPlayer()
15
+ )
12
16
 
13
17
  self.playlist = PlayList(env.RANGIN_VIDEO_LIST_OBJECT)
14
18
 
@@ -4,12 +4,13 @@ from bluer_options import string
4
4
  from bluer_options.timing.classes import Timing
5
5
  from bluer_objects.env import abcli_object_name
6
6
  from bluer_objects.metadata import post_to_object
7
- from bluer_sbc.env import BLUER_SBC_ENV, BLUER_SBC_SWALLOW_HAS_STEERING
7
+ from bluer_sbc.env import BLUER_SBC_CAMERA_KIND, BLUER_SBC_SWALLOW_HAS_STEERING
8
8
 
9
9
  from bluer_ugv.swallow.session.classical.camera import (
10
10
  ClassicalCamera,
11
11
  ClassicalNavigationCamera,
12
12
  ClassicalTrackingCamera,
13
+ ClassicalVoidCamera,
13
14
  ClassicalYoloCamera,
14
15
  )
15
16
  from bluer_ugv.swallow.session.classical.push_button import ClassicalPushButton
@@ -94,19 +95,28 @@ class ClassicalSession:
94
95
  )
95
96
 
96
97
  camera_class = (
97
- ClassicalYoloCamera
98
- if BLUER_SBC_ENV == "yolo"
98
+ ClassicalVoidCamera
99
+ if BLUER_SBC_CAMERA_KIND == "void"
99
100
  else (
100
- ClassicalTrackingCamera
101
- if BLUER_SBC_ENV == "tracking"
101
+ ClassicalYoloCamera
102
+ if BLUER_SBC_CAMERA_KIND == "yolo"
102
103
  else (
103
- ClassicalNavigationCamera
104
- if BLUER_SBC_ENV == "navigation"
105
- else ClassicalCamera
104
+ ClassicalTrackingCamera
105
+ if BLUER_SBC_CAMERA_KIND == "tracking"
106
+ else (
107
+ ClassicalNavigationCamera
108
+ if BLUER_SBC_CAMERA_KIND == "navigation"
109
+ else ClassicalCamera
110
+ )
106
111
  )
107
112
  )
108
113
  )
109
- logger.info(f"camera: {camera_class.__name__}")
114
+ logger.info(
115
+ "camera: {} [{}]".format(
116
+ camera_class.__name__,
117
+ BLUER_SBC_CAMERA_KIND,
118
+ )
119
+ )
110
120
  self.camera = camera_class(
111
121
  keyboard=self.keyboard,
112
122
  leds=self.leds,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_ugv
3
- Version: 7.524.1
3
+ Version: 7.539.1
4
4
  Summary: 🐬 AI x UGV.
5
5
  Home-page: https://github.com/kamangir/bluer-ugv
6
6
  Author: Arash Abadpour (Kamangir)
@@ -64,7 +64,7 @@ pip install bluer_ugv
64
64
 
65
65
  [![pylint](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml) [![pytest](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml) [![bashtest](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml) [![PyPI version](https://img.shields.io/pypi/v/bluer-ugv.svg)](https://pypi.org/project/bluer-ugv/) [![PyPI - Downloads](https://img.shields.io/pypi/dd/bluer-ugv)](https://pypistats.org/packages/bluer-ugv)
66
66
 
67
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.524.1`](https://github.com/kamangir/bluer-ugv).
67
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.539.1`](https://github.com/kamangir/bluer-ugv).
68
68
 
69
69
 
70
70
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
@@ -110,6 +110,7 @@ bluer_ugv/README/swallow/digital/algo/navigation.py
110
110
  bluer_ugv/README/swallow/digital/algo/yolo.py
111
111
  bluer_ugv/README/swallow/digital/design/__init__.py
112
112
  bluer_ugv/README/swallow/digital/design/mechanical.py
113
+ bluer_ugv/README/swallow/digital/design/parts.py
113
114
  bluer_ugv/README/swallow/digital/design/ultrasonic_sensor.py
114
115
  bluer_ugv/README/ugvs/__init__.py
115
116
  bluer_ugv/README/ugvs/db.py
@@ -185,6 +186,7 @@ bluer_ugv/swallow/session/classical/camera/__init__.py
185
186
  bluer_ugv/swallow/session/classical/camera/generic.py
186
187
  bluer_ugv/swallow/session/classical/camera/navigation.py
187
188
  bluer_ugv/swallow/session/classical/camera/tracking.py
189
+ bluer_ugv/swallow/session/classical/camera/void.py
188
190
  bluer_ugv/swallow/session/classical/camera/yolo.py
189
191
  bluer_ugv/swallow/session/classical/keyboard/__init__.py
190
192
  bluer_ugv/swallow/session/classical/keyboard/__main__.py
File without changes
File without changes
File without changes
File without changes
File without changes