bluer-ugv 7.838.1__tar.gz → 7.866.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 (268) hide show
  1. {bluer_ugv-7.838.1/bluer_ugv.egg-info → bluer_ugv-7.866.1}/PKG-INFO +2 -2
  2. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/README.md +1 -1
  3. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/docs.py +2 -0
  4. bluer_ugv-7.866.1/bluer_ugv/README/rangin/operation.py +5 -0
  5. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/location.py +1 -0
  6. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/__init__.py +1 -1
  7. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/config.env +3 -0
  8. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/env.py +12 -2
  9. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/camera/yolo.py +2 -2
  10. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/keyboard/classes.py +15 -3
  11. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/session.py +26 -27
  12. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/setpoint/classes.py +7 -4
  13. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/setpoint/ethernet.py +2 -1
  14. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1/bluer_ugv.egg-info}/PKG-INFO +2 -2
  15. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv.egg-info/SOURCES.txt +1 -0
  16. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/LICENSE +0 -0
  17. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/MANIFEST.in +0 -0
  18. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/abcli.sh +0 -0
  19. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/actions.sh +0 -0
  20. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/aka.sh +0 -0
  21. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/alias.sh +0 -0
  22. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/bluer_ugv.sh +0 -0
  23. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/dataset/combine.sh +0 -0
  24. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/dataset/download.sh +0 -0
  25. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/dataset/edit.sh +0 -0
  26. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/dataset/list.sh +0 -0
  27. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/dataset/upload.sh +0 -0
  28. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/dataset.sh +0 -0
  29. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/debug.sh +0 -0
  30. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/env/cat.sh +0 -0
  31. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/env/cd.sh +0 -0
  32. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/env/cp.sh +0 -0
  33. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/env/list.sh +0 -0
  34. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/env/set.sh +0 -0
  35. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/env.sh +0 -0
  36. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/ethernet/test.sh +0 -0
  37. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/ethernet.sh +0 -0
  38. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/git/rm_keys.sh +0 -0
  39. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/git.sh +0 -0
  40. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/keyboard/test.sh +0 -0
  41. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/keyboard.sh +0 -0
  42. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/select_target.sh +0 -0
  43. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/session.sh +0 -0
  44. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/ultrasonic/review.sh +0 -0
  45. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/ultrasonic/test.sh +0 -0
  46. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/ultrasonic.sh +0 -0
  47. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/video/play.sh +0 -0
  48. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/video/playlist/cat.sh +0 -0
  49. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/video/playlist/download.sh +0 -0
  50. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/video/playlist/edit.sh +0 -0
  51. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/video/playlist/upload.sh +0 -0
  52. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/video/playlist.sh +0 -0
  53. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow/video.sh +0 -0
  54. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/swallow.sh +0 -0
  55. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/README.sh +0 -0
  56. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/help.sh +0 -0
  57. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine.sh +0 -0
  58. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine_explicit.sh +0 -0
  59. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine_sequence.sh +0 -0
  60. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/swallow_dataset_download_upload.sh +0 -0
  61. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/swallow_dataset_edit.sh +0 -0
  62. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/swallow_dataset_list.sh +0 -0
  63. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/swallow_video_play.sh +0 -0
  64. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/swallow_video_playlist.sh +0 -0
  65. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/ugv_get.sh +0 -0
  66. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/ultrasonic_sensor_review.sh +0 -0
  67. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/tests/version.sh +0 -0
  68. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/ugv/get.sh +0 -0
  69. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/ugv/git.sh +0 -0
  70. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/ugv/ssh.sh +0 -0
  71. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/.abcli/ugv/watch.sh +0 -0
  72. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/__init__.py +0 -0
  73. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/aliases.py +0 -0
  74. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/arzhang/__init__.py +0 -0
  75. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/arzhang/algo.py +0 -0
  76. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/arzhang/consts.py +0 -0
  77. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/arzhang/design.py +0 -0
  78. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/arzhang/docs.py +0 -0
  79. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/arzhang/flag.py +0 -0
  80. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/arzhang/items.py +0 -0
  81. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/beast.py +0 -0
  82. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/build.py +0 -0
  83. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/__init__.py +0 -0
  84. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/box.py +0 -0
  85. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/docs.py +0 -0
  86. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/power.py +0 -0
  87. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/schematics.py +0 -0
  88. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/shield/__init__.py +0 -0
  89. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/shield/docs.py +0 -0
  90. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/shield/parts.py +0 -0
  91. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/shield/testing.py +0 -0
  92. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/shield/v1.py +0 -0
  93. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/shield/v2.py +0 -0
  94. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/computer/testing.py +0 -0
  95. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/consts.py +0 -0
  96. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/docs.py +0 -0
  97. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/eagle/__init__.py +0 -0
  98. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/eagle/consts.py +0 -0
  99. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/eagle/docs.py +0 -0
  100. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/eagle/items.py +0 -0
  101. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/fire/__init__.py +0 -0
  102. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/fire/consts.py +0 -0
  103. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/fire/docs.py +0 -0
  104. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/fire/items.py +0 -0
  105. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/items.py +0 -0
  106. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/__init__.py +0 -0
  107. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/consts.py +0 -0
  108. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/items.py +0 -0
  109. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/mechanical.py +0 -0
  110. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/parts.py +0 -0
  111. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/power.py +0 -0
  112. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/root.py +0 -0
  113. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/schematics.py +0 -0
  114. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/specs.py +0 -0
  115. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/rangin/terraform.py +0 -0
  116. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ravin/__init__.py +0 -0
  117. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ravin/consts.py +0 -0
  118. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ravin/docs.py +0 -0
  119. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ravin/items.py +0 -0
  120. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/releases.py +0 -0
  121. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/root.py +0 -0
  122. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/shortcuts.py +0 -0
  123. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/__init__.py +0 -0
  124. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/analog.py +0 -0
  125. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/consts.py +0 -0
  126. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/__init__.py +0 -0
  127. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/algo/__init__.py +0 -0
  128. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/algo/driving.py +0 -0
  129. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/algo/navigation.py +0 -0
  130. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/algo/tracking.py +0 -0
  131. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/algo/yolo.py +0 -0
  132. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/design/__init__.py +0 -0
  133. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/design/ethernet.py +0 -0
  134. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/design/mechanical.py +0 -0
  135. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/design/parts.py +0 -0
  136. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/digital/design/ultrasonic_sensor.py +0 -0
  137. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/swallow/items.py +0 -0
  138. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/__init__.py +0 -0
  139. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/__main__.py +0 -0
  140. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/__init__.py +0 -0
  141. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/build.py +0 -0
  142. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/DYI.py +0 -0
  143. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/__init__.py +0 -0
  144. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/classes.py +0 -0
  145. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/concealment.py +0 -0
  146. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/control.py +0 -0
  147. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/cost.py +0 -0
  148. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/db.py +0 -0
  149. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/payload.py +0 -0
  150. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/ps.py +0 -0
  151. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/range.py +0 -0
  152. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/sanction_proof.py +0 -0
  153. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/size.py +0 -0
  154. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/speed.py +0 -0
  155. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/swarm.py +0 -0
  156. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/features/uv_delivery.py +0 -0
  157. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/references/__init__.py +0 -0
  158. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/references/classes.py +0 -0
  159. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/references/db.py +0 -0
  160. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/ugvs/__init__.py +0 -0
  161. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/ugvs/classes.py +0 -0
  162. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/comparison/ugvs/db.py +0 -0
  163. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/db.py +0 -0
  164. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/docs.py +0 -0
  165. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/ethernet.py +0 -0
  166. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/README/ugvs/get.py +0 -0
  167. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/__main__.py +0 -0
  168. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/assets/comparison.html +0 -0
  169. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/__init__.py +0 -0
  170. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/eagle/__init__.py +0 -0
  171. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/eagle/parts.py +0 -0
  172. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/fire/__init__.py +0 -0
  173. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/fire/parts.py +0 -0
  174. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/rangin/__init__.py +0 -0
  175. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/rangin/parts.py +0 -0
  176. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/ravin/__init__.py +0 -0
  177. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/ravin/ravin3/__init__.py +0 -0
  178. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/ravin/ravin3/parts.py +0 -0
  179. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/ravin/ravin4/__init__.py +0 -0
  180. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/designs/ravin/ravin4/parts.py +0 -0
  181. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/__init__.py +0 -0
  182. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/__main__.py +0 -0
  183. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/functions.py +0 -0
  184. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/get.py +0 -0
  185. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/git.py +0 -0
  186. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/ssh.py +0 -0
  187. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/__init__.py +0 -0
  188. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/dataset.py +0 -0
  189. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/debug.py +0 -0
  190. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/env.py +0 -0
  191. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/ethernet.py +0 -0
  192. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/git.py +0 -0
  193. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/keyboard.py +0 -0
  194. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/select_target.py +0 -0
  195. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/ultrasonic_sensor.py +0 -0
  196. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/video/__init__.py +0 -0
  197. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/video/functions.py +0 -0
  198. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/swallow/video/playlist.py +0 -0
  199. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/help/watch.py +0 -0
  200. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/host.py +0 -0
  201. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/logger.py +0 -0
  202. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/sample.env +0 -0
  203. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/__init__.py +0 -0
  204. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/__main__.py +0 -0
  205. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/dataset/__init__.py +0 -0
  206. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/dataset/__main__.py +0 -0
  207. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/dataset/combination.py +0 -0
  208. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/debug.py +0 -0
  209. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/__init__.py +0 -0
  210. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/__main__.py +0 -0
  211. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/__init__.py +0 -0
  212. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/camera/__init__.py +0 -0
  213. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/camera/generic.py +0 -0
  214. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/camera/navigation.py +0 -0
  215. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/camera/tracking.py +0 -0
  216. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/camera/void.py +0 -0
  217. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ethernet/__init__.py +0 -0
  218. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ethernet/__main__.py +0 -0
  219. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ethernet/classes.py +0 -0
  220. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ethernet/client.py +0 -0
  221. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ethernet/command.py +0 -0
  222. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ethernet/testing.py +0 -0
  223. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/keyboard/__init__.py +0 -0
  224. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/keyboard/__main__.py +0 -0
  225. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/keyboard/keys.py +0 -0
  226. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/keyboard/testing.py +0 -0
  227. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/leds.py +0 -0
  228. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/mode.py +0 -0
  229. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/motor/__init__.py +0 -0
  230. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/motor/generic.py +0 -0
  231. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/motor/left.py +0 -0
  232. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/motor/rear.py +0 -0
  233. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/motor/right.py +0 -0
  234. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/motor/steering.py +0 -0
  235. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/motor/void.py +0 -0
  236. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/mousepad.py +0 -0
  237. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/position.py +0 -0
  238. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/push_button.py +0 -0
  239. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/screen/__init__.py +0 -0
  240. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/screen/classes.py +0 -0
  241. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/screen/video/__init__.py +0 -0
  242. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/screen/video/__main__.py +0 -0
  243. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/screen/video/engine.py +0 -0
  244. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/screen/video/player.py +0 -0
  245. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/screen/video/playlist.py +0 -0
  246. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/setpoint/__init__.py +0 -0
  247. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/setpoint/steering.py +0 -0
  248. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/__init__.py +0 -0
  249. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/__main__.py +0 -0
  250. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/classes.py +0 -0
  251. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/consts.py +0 -0
  252. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/detection.py +0 -0
  253. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/detection_list.py +0 -0
  254. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/log.py +0 -0
  255. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/pack.py +0 -0
  256. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/review.py +0 -0
  257. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/sensor.py +0 -0
  258. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/testing.py +0 -0
  259. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/session/functions.py +0 -0
  260. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/swallow/targeting.py +0 -0
  261. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv/urls.py +0 -0
  262. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv.egg-info/dependency_links.txt +0 -0
  263. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv.egg-info/requires.txt +0 -0
  264. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/bluer_ugv.egg-info/top_level.txt +0 -0
  265. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/pyproject.toml +0 -0
  266. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/requirements.txt +0 -0
  267. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/setup.cfg +0 -0
  268. {bluer_ugv-7.838.1 → bluer_ugv-7.866.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_ugv
3
- Version: 7.838.1
3
+ Version: 7.866.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.838.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.866.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.838.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.866.1`](https://github.com/kamangir/bluer-ugv).
39
39
 
@@ -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
+ ]
@@ -14,6 +14,7 @@ def get_location(
14
14
 
15
15
  for location, hostname_ in dict_of_computers.items():
16
16
  if hostname == hostname_:
17
+
17
18
  if log:
18
19
  logger.info(f"{hostname}.location={location}")
19
20
  return True, location
@@ -4,7 +4,7 @@ ICON = "🐬"
4
4
 
5
5
  DESCRIPTION = f"{ICON} AI x UGV."
6
6
 
7
- VERSION = "7.838.1"
7
+ VERSION = "7.866.1"
8
8
 
9
9
  REPO_NAME = "bluer-ugv"
10
10
 
@@ -4,6 +4,9 @@ BLUER_UGV_CAMERA_TRAINING_PERIOD=3.0
4
4
  BLUER_UGV_CAMERA_ACTION_PERIOD=0.5
5
5
 
6
6
  BLUER_UGV_SWALLOW_STEERING_SETPOINT=50
7
+
8
+ BLUER_UGV_SWALLOW_STEERING_EXPIRY=0.05
9
+ BLUER_UGV_SWALLOW_STEERING_EXPIRY_ETHERNET=0.1
7
10
  BLUER_UGV_SWALLOW_STEERING_YOLO_EXPIRY=0.1
8
11
 
9
12
  BLUER_UGV_MOUSEPAD_ENABLED=0
@@ -35,11 +35,21 @@ BLUER_UGV_SWALLOW_STEERING_SETPOINT = get_env(
35
35
  50,
36
36
  )
37
37
 
38
- BLUER_UGV_SWALLOW_STEERING_YOLO_EXPIRY = get_env(
39
- "BLUER_UGV_SWALLOW_STEERING_YOLO_EXPIRY",
38
+ BLUER_UGV_SWALLOW_STEERING_EXPIRY = get_env(
39
+ "BLUER_UGV_SWALLOW_STEERING_EXPIRY",
40
+ 0.05,
41
+ )
42
+
43
+ BLUER_UGV_SWALLOW_STEERING_EXPIRY_YOLO = get_env(
44
+ "BLUER_UGV_SWALLOW_STEERING_EXPIRY_YOLO",
40
45
  0.1,
41
46
  )
42
47
 
48
+ BLUER_UGV_SWALLOW_STEERING_EXPIRY_ETHERNET = get_env(
49
+ "BLUER_UGV_SWALLOW_STEERING_EXPIRY_ETHERNET",
50
+ 0.3,
51
+ )
52
+
43
53
  BLUER_UGV_SWALLOW_YOLO_SPEED_SETPOINT = get_env(
44
54
  "BLUER_UGV_SWALLOW_YOLO_SPEED_SETPOINT",
45
55
  20,
@@ -168,14 +168,14 @@ class ClassicalYoloCamera(ClassicalCamera):
168
168
  what="steering",
169
169
  value=env.BLUER_UGV_SWALLOW_STEERING_SETPOINT,
170
170
  log=True,
171
- steering_expires_in=env.BLUER_UGV_SWALLOW_STEERING_YOLO_EXPIRY,
171
+ steering_expires_in=env.BLUER_UGV_SWALLOW_STEERING_EXPIRY_YOLO,
172
172
  )
173
173
  else:
174
174
  self.setpoint.put(
175
175
  what="steering",
176
176
  value=-env.BLUER_UGV_SWALLOW_STEERING_SETPOINT,
177
177
  log=True,
178
- steering_expires_in=env.BLUER_UGV_SWALLOW_STEERING_YOLO_EXPIRY,
178
+ steering_expires_in=env.BLUER_UGV_SWALLOW_STEERING_EXPIRY_YOLO,
179
179
  )
180
180
 
181
181
  self.setpoint.put(
@@ -44,6 +44,8 @@ class ClassicalKeyboard:
44
44
  "ultrasound_enabled": True,
45
45
  }
46
46
 
47
+ self.is_used_for_steering: bool = False
48
+
47
49
  def get(self, what: str, default: Any) -> Any:
48
50
  with self._lock:
49
51
  return self.config.get(what, default)
@@ -59,7 +61,9 @@ class ClassicalKeyboard:
59
61
  if self.special_key:
60
62
  for key, event in self.keys.special_keys.items():
61
63
  if keyboard.is_pressed(key):
62
- if self.ethernet.enabled and self.ethernet.client.is_server:
64
+ logger.info(f'*"{key}" is pressed.')
65
+
66
+ if self.ethernet.enabled:
63
67
  self.ethernet.client.send(
64
68
  EthernetCommand(
65
69
  action="keyboard",
@@ -89,26 +93,34 @@ class ClassicalKeyboard:
89
93
  ),
90
94
  }.items():
91
95
  if keyboard.is_pressed(key):
96
+ logger.info(f'"{key}" is pressed.')
92
97
  self.special_key = False
93
98
  func()
94
99
 
95
100
  # steering
96
101
  if keyboard.is_pressed(self.keys.get("steer left")):
102
+ logger.info('"steer left" is pressed.')
97
103
  self.special_key = False
98
104
  self.last_key = "a"
99
105
  self.setpoint.put(
100
106
  what="steering",
101
107
  value=env.BLUER_UGV_SWALLOW_STEERING_SETPOINT,
102
108
  )
109
+
110
+ self.is_used_for_steering = True
103
111
  elif keyboard.is_pressed(self.keys.get("steer right")):
112
+ logger.info('"steer right" is pressed.')
104
113
  self.special_key = False
105
114
  self.last_key = "d"
106
115
  self.setpoint.put(
107
116
  what="steering",
108
117
  value=-env.BLUER_UGV_SWALLOW_STEERING_SETPOINT,
109
118
  )
110
- else:
111
- self.setpoint.check_steering_expiry()
119
+
120
+ self.is_used_for_steering = True
121
+ elif self.is_used_for_steering:
122
+ if self.setpoint.check_steering_expiry():
123
+ self.is_used_for_steering = False
112
124
 
113
125
  # debug mode
114
126
  if keyboard.is_pressed(self.keys.get("debug on")):
@@ -118,8 +118,6 @@ class ClassicalSession:
118
118
  self.motor2.role,
119
119
  )
120
120
  )
121
- else:
122
- logger.info("no wheels.")
123
121
 
124
122
  self.position = ClassicalPosition(object_name)
125
123
 
@@ -215,31 +213,7 @@ class ClassicalSession:
215
213
  ]
216
214
  )
217
215
 
218
- def update(self) -> bool:
219
- self.timing.start("session.update")
220
-
221
- for thing in [
222
- self.keyboard,
223
- self.push_button,
224
- self.camera,
225
- self.position,
226
- self.setpoint,
227
- self.motor1,
228
- self.motor2,
229
- self.leds,
230
- self.screen,
231
- ]:
232
- self.timing.start(thing.__class__.__name__)
233
-
234
- if not thing.update():
235
- return False
236
-
237
- self.timing.stop(thing.__class__.__name__)
238
-
239
- self.timing.stop("session.update")
240
- if self.location != "front":
241
- return True
242
-
216
+ def process_ethernet_messages(self) -> bool:
243
217
  while True:
244
218
  try:
245
219
  # pylint: disable=protected-access
@@ -263,3 +237,28 @@ class ClassicalSession:
263
237
  logger.warning(f"unknown command: {command.as_str()}")
264
238
 
265
239
  return True
240
+
241
+ def update(self) -> bool:
242
+ self.timing.start("session.update")
243
+
244
+ for thing in [
245
+ self.keyboard,
246
+ self.push_button,
247
+ self.camera,
248
+ self.position,
249
+ self.setpoint,
250
+ self.motor1,
251
+ self.motor2,
252
+ self.leds,
253
+ self.screen,
254
+ ]:
255
+ self.timing.start(thing.__class__.__name__)
256
+
257
+ if not thing.update():
258
+ return False
259
+
260
+ self.timing.stop(thing.__class__.__name__)
261
+
262
+ self.timing.stop("session.update")
263
+
264
+ return self.process_ethernet_messages()
@@ -5,6 +5,7 @@ import time
5
5
 
6
6
  from bluer_options import string
7
7
 
8
+ from bluer_ugv import env
8
9
  from bluer_ugv.swallow.session.classical.leds import ClassicalLeds
9
10
  from bluer_ugv.swallow.session.classical.ethernet.classes import ClassicalEthernet
10
11
  from bluer_ugv.swallow.session.classical.setpoint.steering import (
@@ -66,10 +67,10 @@ class ClassicalSetPoint:
66
67
  def check_steering_expiry(
67
68
  self,
68
69
  log: bool = True,
69
- ):
70
+ ) -> bool:
70
71
  with self._lock:
71
72
  if self.steering == 0:
72
- return
73
+ return False
73
74
 
74
75
  if self.steering_expiry > time.time():
75
76
  if log:
@@ -83,7 +84,7 @@ class ClassicalSetPoint:
83
84
  )
84
85
  )
85
86
  )
86
- return
87
+ return False
87
88
 
88
89
  if log:
89
90
  logger.info("setpoint expired.")
@@ -93,12 +94,14 @@ class ClassicalSetPoint:
93
94
  value=0,
94
95
  )
95
96
 
97
+ return True
98
+
96
99
  def put(
97
100
  self,
98
101
  value: Union[int, bool, Dict[str, Union[int, bool]]],
99
102
  what: str = "all",
100
103
  log: bool = True,
101
- steering_expires_in: float = 0,
104
+ steering_expires_in: float = env.BLUER_UGV_SWALLOW_STEERING_EXPIRY,
102
105
  ):
103
106
  with self._lock:
104
107
  if what == "all":
@@ -1,5 +1,6 @@
1
1
  from typing import Union, Dict
2
2
 
3
+ from bluer_ugv import env
3
4
  from bluer_ugv.swallow.session.classical.ethernet.command import EthernetCommand
4
5
  from bluer_ugv.swallow.session.classical.setpoint.classes import ClassicalSetPoint
5
6
 
@@ -10,7 +11,7 @@ class ClassicalEthernetSetPoint(ClassicalSetPoint):
10
11
  value: Union[int, bool, Dict[str, Union[int, bool]]],
11
12
  what: str = "all",
12
13
  log: bool = True,
13
- steering_expires_in: float = 0,
14
+ steering_expires_in: float = env.BLUER_UGV_SWALLOW_STEERING_EXPIRY_ETHERNET,
14
15
  ):
15
16
  super().put(
16
17
  value=value,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_ugv
3
- Version: 7.838.1
3
+ Version: 7.866.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.838.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.866.1`](https://github.com/kamangir/bluer-ugv).
69
69
 
70
70
 
71
71
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
@@ -114,6 +114,7 @@ bluer_ugv/README/rangin/consts.py
114
114
  bluer_ugv/README/rangin/docs.py
115
115
  bluer_ugv/README/rangin/items.py
116
116
  bluer_ugv/README/rangin/mechanical.py
117
+ bluer_ugv/README/rangin/operation.py
117
118
  bluer_ugv/README/rangin/parts.py
118
119
  bluer_ugv/README/rangin/power.py
119
120
  bluer_ugv/README/rangin/root.py
File without changes
File without changes