bluer-ugv 7.835.1__tar.gz → 7.846.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 bluer-ugv might be problematic. Click here for more details.

Files changed (268) hide show
  1. {bluer_ugv-7.835.1/bluer_ugv.egg-info → bluer_ugv-7.846.1}/PKG-INFO +2 -2
  2. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/README.md +1 -1
  3. bluer_ugv-7.846.1/bluer_ugv/.abcli/swallow/env/cat.sh +5 -0
  4. bluer_ugv-7.846.1/bluer_ugv/.abcli/swallow/env/cd.sh +5 -0
  5. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/tests/help.sh +2 -0
  6. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/rangin/docs.py +2 -0
  7. bluer_ugv-7.846.1/bluer_ugv/README/rangin/operation.py +5 -0
  8. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/__init__.py +1 -1
  9. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/help/swallow/env.py +34 -1
  10. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/session.py +26 -26
  11. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1/bluer_ugv.egg-info}/PKG-INFO +2 -2
  12. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv.egg-info/SOURCES.txt +3 -0
  13. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/LICENSE +0 -0
  14. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/MANIFEST.in +0 -0
  15. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/abcli.sh +0 -0
  16. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/actions.sh +0 -0
  17. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/aka.sh +0 -0
  18. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/alias.sh +0 -0
  19. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/bluer_ugv.sh +0 -0
  20. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/dataset/combine.sh +0 -0
  21. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/dataset/download.sh +0 -0
  22. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/dataset/edit.sh +0 -0
  23. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/dataset/list.sh +0 -0
  24. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/dataset/upload.sh +0 -0
  25. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/dataset.sh +0 -0
  26. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/debug.sh +0 -0
  27. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/env/cp.sh +0 -0
  28. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/env/list.sh +0 -0
  29. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/env/set.sh +0 -0
  30. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/env.sh +0 -0
  31. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/ethernet/test.sh +0 -0
  32. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/ethernet.sh +0 -0
  33. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/git/rm_keys.sh +0 -0
  34. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/git.sh +0 -0
  35. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/keyboard/test.sh +0 -0
  36. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/keyboard.sh +0 -0
  37. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/select_target.sh +0 -0
  38. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/session.sh +0 -0
  39. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/ultrasonic/review.sh +0 -0
  40. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/ultrasonic/test.sh +0 -0
  41. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/ultrasonic.sh +0 -0
  42. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/video/play.sh +0 -0
  43. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/video/playlist/cat.sh +0 -0
  44. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/video/playlist/download.sh +0 -0
  45. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/video/playlist/edit.sh +0 -0
  46. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/video/playlist/upload.sh +0 -0
  47. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/video/playlist.sh +0 -0
  48. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow/video.sh +0 -0
  49. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/swallow.sh +0 -0
  50. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/tests/README.sh +0 -0
  51. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine.sh +0 -0
  52. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine_explicit.sh +0 -0
  53. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine_sequence.sh +0 -0
  54. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/tests/swallow_dataset_download_upload.sh +0 -0
  55. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/tests/swallow_dataset_edit.sh +0 -0
  56. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/tests/swallow_dataset_list.sh +0 -0
  57. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/tests/swallow_video_play.sh +0 -0
  58. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/tests/swallow_video_playlist.sh +0 -0
  59. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/tests/ugv_get.sh +0 -0
  60. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/tests/ultrasonic_sensor_review.sh +0 -0
  61. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/tests/version.sh +0 -0
  62. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/ugv/get.sh +0 -0
  63. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/ugv/git.sh +0 -0
  64. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/ugv/ssh.sh +0 -0
  65. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/.abcli/ugv/watch.sh +0 -0
  66. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/__init__.py +0 -0
  67. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/aliases.py +0 -0
  68. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/arzhang/__init__.py +0 -0
  69. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/arzhang/algo.py +0 -0
  70. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/arzhang/consts.py +0 -0
  71. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/arzhang/design.py +0 -0
  72. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/arzhang/docs.py +0 -0
  73. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/arzhang/flag.py +0 -0
  74. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/arzhang/items.py +0 -0
  75. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/beast.py +0 -0
  76. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/build.py +0 -0
  77. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/computer/__init__.py +0 -0
  78. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/computer/box.py +0 -0
  79. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/computer/docs.py +0 -0
  80. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/computer/power.py +0 -0
  81. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/computer/schematics.py +0 -0
  82. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/computer/shield/__init__.py +0 -0
  83. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/computer/shield/docs.py +0 -0
  84. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/computer/shield/parts.py +0 -0
  85. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/computer/shield/testing.py +0 -0
  86. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/computer/shield/v1.py +0 -0
  87. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/computer/shield/v2.py +0 -0
  88. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/computer/testing.py +0 -0
  89. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/consts.py +0 -0
  90. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/docs.py +0 -0
  91. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/eagle/__init__.py +0 -0
  92. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/eagle/consts.py +0 -0
  93. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/eagle/docs.py +0 -0
  94. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/eagle/items.py +0 -0
  95. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/fire/__init__.py +0 -0
  96. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/fire/consts.py +0 -0
  97. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/fire/docs.py +0 -0
  98. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/fire/items.py +0 -0
  99. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/items.py +0 -0
  100. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/rangin/__init__.py +0 -0
  101. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/rangin/consts.py +0 -0
  102. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/rangin/items.py +0 -0
  103. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/rangin/mechanical.py +0 -0
  104. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/rangin/parts.py +0 -0
  105. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/rangin/power.py +0 -0
  106. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/rangin/root.py +0 -0
  107. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/rangin/schematics.py +0 -0
  108. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/rangin/specs.py +0 -0
  109. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/rangin/terraform.py +0 -0
  110. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ravin/__init__.py +0 -0
  111. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ravin/consts.py +0 -0
  112. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ravin/docs.py +0 -0
  113. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ravin/items.py +0 -0
  114. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/releases.py +0 -0
  115. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/root.py +0 -0
  116. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/shortcuts.py +0 -0
  117. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/swallow/__init__.py +0 -0
  118. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/swallow/analog.py +0 -0
  119. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/swallow/consts.py +0 -0
  120. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/swallow/digital/__init__.py +0 -0
  121. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/swallow/digital/algo/__init__.py +0 -0
  122. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/swallow/digital/algo/driving.py +0 -0
  123. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/swallow/digital/algo/navigation.py +0 -0
  124. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/swallow/digital/algo/tracking.py +0 -0
  125. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/swallow/digital/algo/yolo.py +0 -0
  126. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/swallow/digital/design/__init__.py +0 -0
  127. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/swallow/digital/design/ethernet.py +0 -0
  128. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/swallow/digital/design/mechanical.py +0 -0
  129. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/swallow/digital/design/parts.py +0 -0
  130. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/swallow/digital/design/ultrasonic_sensor.py +0 -0
  131. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/swallow/items.py +0 -0
  132. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/__init__.py +0 -0
  133. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/__main__.py +0 -0
  134. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/__init__.py +0 -0
  135. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/build.py +0 -0
  136. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/features/DYI.py +0 -0
  137. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/features/__init__.py +0 -0
  138. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/features/classes.py +0 -0
  139. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/features/concealment.py +0 -0
  140. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/features/control.py +0 -0
  141. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/features/cost.py +0 -0
  142. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/features/db.py +0 -0
  143. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/features/payload.py +0 -0
  144. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/features/ps.py +0 -0
  145. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/features/range.py +0 -0
  146. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/features/sanction_proof.py +0 -0
  147. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/features/size.py +0 -0
  148. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/features/speed.py +0 -0
  149. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/features/swarm.py +0 -0
  150. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/features/uv_delivery.py +0 -0
  151. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/references/__init__.py +0 -0
  152. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/references/classes.py +0 -0
  153. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/references/db.py +0 -0
  154. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/ugvs/__init__.py +0 -0
  155. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/ugvs/classes.py +0 -0
  156. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/comparison/ugvs/db.py +0 -0
  157. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/db.py +0 -0
  158. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/docs.py +0 -0
  159. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/ethernet.py +0 -0
  160. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/get.py +0 -0
  161. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/README/ugvs/location.py +0 -0
  162. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/__main__.py +0 -0
  163. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/assets/comparison.html +0 -0
  164. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/config.env +0 -0
  165. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/designs/__init__.py +0 -0
  166. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/designs/eagle/__init__.py +0 -0
  167. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/designs/eagle/parts.py +0 -0
  168. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/designs/fire/__init__.py +0 -0
  169. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/designs/fire/parts.py +0 -0
  170. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/designs/rangin/__init__.py +0 -0
  171. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/designs/rangin/parts.py +0 -0
  172. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/designs/ravin/__init__.py +0 -0
  173. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/designs/ravin/ravin3/__init__.py +0 -0
  174. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/designs/ravin/ravin3/parts.py +0 -0
  175. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/designs/ravin/ravin4/__init__.py +0 -0
  176. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/designs/ravin/ravin4/parts.py +0 -0
  177. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/env.py +0 -0
  178. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/help/__init__.py +0 -0
  179. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/help/__main__.py +0 -0
  180. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/help/functions.py +0 -0
  181. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/help/get.py +0 -0
  182. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/help/git.py +0 -0
  183. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/help/ssh.py +0 -0
  184. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/help/swallow/__init__.py +0 -0
  185. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/help/swallow/dataset.py +0 -0
  186. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/help/swallow/debug.py +0 -0
  187. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/help/swallow/ethernet.py +0 -0
  188. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/help/swallow/git.py +0 -0
  189. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/help/swallow/keyboard.py +0 -0
  190. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/help/swallow/select_target.py +0 -0
  191. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/help/swallow/ultrasonic_sensor.py +0 -0
  192. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/help/swallow/video/__init__.py +0 -0
  193. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/help/swallow/video/functions.py +0 -0
  194. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/help/swallow/video/playlist.py +0 -0
  195. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/help/watch.py +0 -0
  196. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/host.py +0 -0
  197. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/logger.py +0 -0
  198. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/sample.env +0 -0
  199. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/__init__.py +0 -0
  200. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/__main__.py +0 -0
  201. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/dataset/__init__.py +0 -0
  202. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/dataset/__main__.py +0 -0
  203. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/dataset/combination.py +0 -0
  204. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/debug.py +0 -0
  205. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/__init__.py +0 -0
  206. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/__main__.py +0 -0
  207. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/__init__.py +0 -0
  208. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/camera/__init__.py +0 -0
  209. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/camera/generic.py +0 -0
  210. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/camera/navigation.py +0 -0
  211. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/camera/tracking.py +0 -0
  212. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/camera/void.py +0 -0
  213. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/camera/yolo.py +0 -0
  214. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/ethernet/__init__.py +0 -0
  215. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/ethernet/__main__.py +0 -0
  216. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/ethernet/classes.py +0 -0
  217. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/ethernet/client.py +0 -0
  218. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/ethernet/command.py +0 -0
  219. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/ethernet/testing.py +0 -0
  220. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/keyboard/__init__.py +0 -0
  221. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/keyboard/__main__.py +0 -0
  222. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/keyboard/classes.py +0 -0
  223. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/keyboard/keys.py +0 -0
  224. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/keyboard/testing.py +0 -0
  225. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/leds.py +0 -0
  226. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/mode.py +0 -0
  227. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/motor/__init__.py +0 -0
  228. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/motor/generic.py +0 -0
  229. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/motor/left.py +0 -0
  230. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/motor/rear.py +0 -0
  231. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/motor/right.py +0 -0
  232. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/motor/steering.py +0 -0
  233. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/motor/void.py +0 -0
  234. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/mousepad.py +0 -0
  235. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/position.py +0 -0
  236. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/push_button.py +0 -0
  237. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/screen/__init__.py +0 -0
  238. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/screen/classes.py +0 -0
  239. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/screen/video/__init__.py +0 -0
  240. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/screen/video/__main__.py +0 -0
  241. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/screen/video/engine.py +0 -0
  242. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/screen/video/player.py +0 -0
  243. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/screen/video/playlist.py +0 -0
  244. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/setpoint/__init__.py +0 -0
  245. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/setpoint/classes.py +0 -0
  246. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/setpoint/ethernet.py +0 -0
  247. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/setpoint/steering.py +0 -0
  248. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/__init__.py +0 -0
  249. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/__main__.py +0 -0
  250. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/classes.py +0 -0
  251. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/consts.py +0 -0
  252. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/detection.py +0 -0
  253. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/detection_list.py +0 -0
  254. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/log.py +0 -0
  255. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/pack.py +0 -0
  256. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/review.py +0 -0
  257. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/sensor.py +0 -0
  258. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/testing.py +0 -0
  259. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/session/functions.py +0 -0
  260. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/swallow/targeting.py +0 -0
  261. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv/urls.py +0 -0
  262. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv.egg-info/dependency_links.txt +0 -0
  263. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv.egg-info/requires.txt +0 -0
  264. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/bluer_ugv.egg-info/top_level.txt +0 -0
  265. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/pyproject.toml +0 -0
  266. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/requirements.txt +0 -0
  267. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/setup.cfg +0 -0
  268. {bluer_ugv-7.835.1 → bluer_ugv-7.846.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_ugv
3
- Version: 7.835.1
3
+ Version: 7.846.1
4
4
  Summary: 🐬 AI x UGV.
5
5
  Home-page: https://github.com/kamangir/bluer-ugv
6
6
  Author: Arash Abadpour (Kamangir)
@@ -65,7 +65,7 @@ pip install bluer_ugv
65
65
 
66
66
  [![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)
67
67
 
68
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.835.1`](https://github.com/kamangir/bluer-ugv).
68
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.846.1`](https://github.com/kamangir/bluer-ugv).
69
69
 
70
70
 
71
71
  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.835.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.846.1`](https://github.com/kamangir/bluer-ugv).
39
39
 
@@ -0,0 +1,5 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function bluer_ugv_swallow_env_cat() {
4
+ bluer_ai_cat $abcli_path_assets/env/swallow-raspbian-${1:-driving}
5
+ }
@@ -0,0 +1,5 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function bluer_ugv_swallow_env_cd() {
4
+ cd $abcli_path_assets/env/
5
+ }
@@ -16,6 +16,8 @@ function test_bluer_ugv_help() {
16
16
  "@swallow debug" \
17
17
  \
18
18
  "@swallow env" \
19
+ "@swallow env cat" \
20
+ "@swallow env cd" \
19
21
  "@swallow env cp" \
20
22
  "@swallow env list" \
21
23
  "@swallow env set" \
@@ -1,5 +1,6 @@
1
1
  from bluer_ugv.README.rangin import (
2
2
  mechanical,
3
+ operation,
3
4
  parts,
4
5
  power,
5
6
  root,
@@ -10,6 +11,7 @@ from bluer_ugv.README.rangin import (
10
11
 
11
12
  docs = (
12
13
  mechanical.docs
14
+ + operation.docs
13
15
  + parts.docs
14
16
  + power.docs
15
17
  + root.docs
@@ -0,0 +1,5 @@
1
+ docs = [
2
+ {
3
+ "path": "../docs/rangin/operation.md",
4
+ },
5
+ ]
@@ -4,7 +4,7 @@ ICON = "🐬"
4
4
 
5
5
  DESCRIPTION = f"{ICON} AI x UGV."
6
6
 
7
- VERSION = "7.835.1"
7
+ VERSION = "7.846.1"
8
8
 
9
9
  REPO_NAME = "bluer-ugv"
10
10
 
@@ -4,6 +4,37 @@ from bluer_options.terminal import show_usage
4
4
  from bluer_sbc import env
5
5
 
6
6
 
7
+ def help_cat(
8
+ tokens: List[str],
9
+ mono: bool,
10
+ ) -> str:
11
+ return show_usage(
12
+ [
13
+ "@swallow",
14
+ "env",
15
+ "cat",
16
+ "[<env-name>]",
17
+ ],
18
+ "cat swallow-raspbian-<env-name>.env.",
19
+ mono=mono,
20
+ )
21
+
22
+
23
+ def help_cd(
24
+ tokens: List[str],
25
+ mono: bool,
26
+ ) -> str:
27
+ return show_usage(
28
+ [
29
+ "@swallow",
30
+ "env",
31
+ "cd",
32
+ ],
33
+ "cd env folder.",
34
+ mono=mono,
35
+ )
36
+
37
+
7
38
  def help_cp(
8
39
  tokens: List[str],
9
40
  mono: bool,
@@ -52,7 +83,7 @@ def help_set(
52
83
  f"bps: BLUER_SBC_SWALLOW_HAS_BPS (currently: {env.BLUER_SBC_SWALLOW_HAS_BPS})": "",
53
84
  f"camera: BLUER_SBC_SWALLOW_HAS_CAMERA (currently: {env.BLUER_SBC_SWALLOW_HAS_CAMERA})": "",
54
85
  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})"
86
+ f" screen: BLUER_SBC_ENABLE_SCREEN (currently: {env.BLUER_SBC_ENABLE_SCREEN})": "",
56
87
  f"steering: BLUER_SBC_SWALLOW_HAS_STEERING (currently: {env.BLUER_SBC_SWALLOW_HAS_STEERING})": "",
57
88
  },
58
89
  mono=mono,
@@ -60,6 +91,8 @@ def help_set(
60
91
 
61
92
 
62
93
  help_functions = {
94
+ "cat": help_cat,
95
+ "cd": help_cd,
63
96
  "cp": help_cp,
64
97
  "list": help_list,
65
98
  "set": help_set,
@@ -215,6 +215,31 @@ class ClassicalSession:
215
215
  ]
216
216
  )
217
217
 
218
+ def process_ethernet_messages(self) -> bool:
219
+ while True:
220
+ try:
221
+ # pylint: disable=protected-access
222
+ command = self.ethernet.client._receive_queue.get_nowait()
223
+ except Empty:
224
+ break
225
+
226
+ if command.action == "keyboard":
227
+ reply_to_bash(command.data.get("event", "unknown"))
228
+ logger.info("stop received.")
229
+ return False
230
+
231
+ if command.action == "setpoint.put":
232
+ self.setpoint.put(
233
+ value=command.data.get("value", 0),
234
+ what=command.data.get("what", "void"),
235
+ log=True,
236
+ steering_expires_in=command.data.get("steering_expires_in", 0),
237
+ )
238
+ else:
239
+ logger.warning(f"unknown command: {command.as_str()}")
240
+
241
+ return True
242
+
218
243
  def update(self) -> bool:
219
244
  self.timing.start("session.update")
220
245
 
@@ -237,30 +262,5 @@ class ClassicalSession:
237
262
  self.timing.stop(thing.__class__.__name__)
238
263
 
239
264
  self.timing.stop("session.update")
240
- if self.location != "front":
241
- return True
242
265
 
243
- while True:
244
- try:
245
- command = (
246
- self.ethernet.client._receive_queue.get_nowait()
247
- ) # pylint: disable=protected-access
248
- except Empty:
249
- break
250
-
251
- if command.action == "keyboard":
252
- reply_to_bash(command.data.get("event", "unknown"))
253
- logger.info("stop received.")
254
- return False
255
-
256
- if command.action == "setpoint.put":
257
- self.setpoint.put(
258
- value=command.data.get("value", 0),
259
- what=command.data.get("what", "void"),
260
- log=True,
261
- steering_expires_in=command.data.get("steering_expires_in", 0),
262
- )
263
- else:
264
- logger.warning(f"unknown command: {command.as_str()}")
265
-
266
- return True
266
+ return self.process_ethernet_messages()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_ugv
3
- Version: 7.835.1
3
+ Version: 7.846.1
4
4
  Summary: 🐬 AI x UGV.
5
5
  Home-page: https://github.com/kamangir/bluer-ugv
6
6
  Author: Arash Abadpour (Kamangir)
@@ -65,7 +65,7 @@ pip install bluer_ugv
65
65
 
66
66
  [![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)
67
67
 
68
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.835.1`](https://github.com/kamangir/bluer-ugv).
68
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.846.1`](https://github.com/kamangir/bluer-ugv).
69
69
 
70
70
 
71
71
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
@@ -39,6 +39,8 @@ bluer_ugv/.abcli/swallow/dataset/download.sh
39
39
  bluer_ugv/.abcli/swallow/dataset/edit.sh
40
40
  bluer_ugv/.abcli/swallow/dataset/list.sh
41
41
  bluer_ugv/.abcli/swallow/dataset/upload.sh
42
+ bluer_ugv/.abcli/swallow/env/cat.sh
43
+ bluer_ugv/.abcli/swallow/env/cd.sh
42
44
  bluer_ugv/.abcli/swallow/env/cp.sh
43
45
  bluer_ugv/.abcli/swallow/env/list.sh
44
46
  bluer_ugv/.abcli/swallow/env/set.sh
@@ -112,6 +114,7 @@ bluer_ugv/README/rangin/consts.py
112
114
  bluer_ugv/README/rangin/docs.py
113
115
  bluer_ugv/README/rangin/items.py
114
116
  bluer_ugv/README/rangin/mechanical.py
117
+ bluer_ugv/README/rangin/operation.py
115
118
  bluer_ugv/README/rangin/parts.py
116
119
  bluer_ugv/README/rangin/power.py
117
120
  bluer_ugv/README/rangin/root.py
File without changes
File without changes