bluer-ugv 7.522.1__py3-none-any.whl → 7.535.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
@@ -18,6 +18,9 @@ docs = (
18
18
  {
19
19
  "path": "../docs/swallow/digital/design/computer/naming.md",
20
20
  },
21
+ {
22
+ "path": "../docs/swallow/digital/design/computer/terraform.md",
23
+ },
21
24
  {
22
25
  "path": "../docs/swallow/digital/design/computer/connectors-v1.md",
23
26
  },
bluer_ugv/__init__.py CHANGED
@@ -4,7 +4,7 @@ ICON = "🐬"
4
4
 
5
5
  DESCRIPTION = f"{ICON} AI x UGV."
6
6
 
7
- VERSION = "7.522.1"
7
+ VERSION = "7.535.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.522.1
3
+ Version: 7.535.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.522.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.535.1`](https://github.com/kamangir/bluer-ugv).
68
68
 
69
69
 
70
70
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
@@ -1,4 +1,4 @@
1
- bluer_ugv/__init__.py,sha256=dhnKzzNUltNVpRl9iOa2g0B_okcPhseaBygZ-2raflc,288
1
+ bluer_ugv/__init__.py,sha256=LwG-Rnw19ebzmNxf9-kLqNew2kqLKGJq78HWshMXPXc,288
2
2
  bluer_ugv/__main__.py,sha256=77TquqyMca7qHk0XtCixGVyzfW3_9ywnl5oXEPERlls,374
3
3
  bluer_ugv/config.env,sha256=I718Cfy1GaGqVI80vb7iYsoJ0P7SKLW8USaBYb2sub4,1055
4
4
  bluer_ugv/env.py,sha256=oEJiyKf1cCJ9kgZqgwnWemT0U_cO2RmCN3MRSS2vitY,1875
@@ -27,7 +27,7 @@ bluer_ugv/.abcli/swallow/dataset/list.sh,sha256=-hqgmThG2JfheFSYIe6Z3UH05X5hrSuI
27
27
  bluer_ugv/.abcli/swallow/dataset/upload.sh,sha256=KM33QM4rIQpltbd_V49wPWear9Wi8cJNo0bBBeCEENU,577
28
28
  bluer_ugv/.abcli/swallow/env/cp.sh,sha256=vWBlG9n4Q6m_lBWcot9nyN6kc7-uil5skCjfJWHCfrY,168
29
29
  bluer_ugv/.abcli/swallow/env/list.sh,sha256=pT-hRS0ZfmogAfAMfm-hh0raGoUAnl66U5VuqgyeIwE,173
30
- bluer_ugv/.abcli/swallow/env/set.sh,sha256=hMl5qO_nsV_C3Yvn4KDpw2lY7QD8aESzPsIH0zg0BAo,640
30
+ bluer_ugv/.abcli/swallow/env/set.sh,sha256=ed6NCkhYK9LNhSYU_iJUNYXuyQFzmH9mydQ5agihhvA,817
31
31
  bluer_ugv/.abcli/swallow/keyboard/test.sh,sha256=B04AO-Er3_utzULPziyKD0aybuN2bry7h9wrQBEJ0tA,218
32
32
  bluer_ugv/.abcli/swallow/ultrasonic/review.sh,sha256=XoKwUliTcH-yTHrIo1cc9RSxL3tYQsBfWf1XOJ6YtOI,717
33
33
  bluer_ugv/.abcli/swallow/ultrasonic/test.sh,sha256=WRq4jnm2lv6q7fAw-_6Xg7DD8kgki48t8ilwXA-SsBM,582
@@ -67,7 +67,7 @@ bluer_ugv/README/arzhang/flag.py,sha256=aTSQXk_sK09Wj7UCtAFkqruA0jwTvySHycG5pMu6
67
67
  bluer_ugv/README/arzhang/items.py,sha256=kMbopWBiwSelO4wFB0hD65Ndty_XXqEJBpJVibRUawU,1657
68
68
  bluer_ugv/README/computer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
69
  bluer_ugv/README/computer/box.py,sha256=d_VVOZYYRYWrUAZQjnfzXX_tmb_mKMONe7IVqJqifJI,745
70
- bluer_ugv/README/computer/docs.py,sha256=5ojY19wI4B9diUoXCraTAijON05r7at0a_an5iYg-QU,786
70
+ bluer_ugv/README/computer/docs.py,sha256=MKZ5xX-9J2jLncO3oL2W3KHbxE6--ZX32JaR-xfjNWk,883
71
71
  bluer_ugv/README/computer/power.py,sha256=NDr3vWM4TGARlvRJuWg7DhkWAitBxnCorxrV73Xxn28,390
72
72
  bluer_ugv/README/computer/schematics.py,sha256=1ZPKmuEBWwYb7_L1uzjK-14e-9qeBENpZCdgnbu6yeI,378
73
73
  bluer_ugv/README/computer/testing.py,sha256=WLr6UmjG9bGXBVSUsV77OJw3pqW8o45wKdKBavjRlFQ,537
@@ -145,7 +145,7 @@ bluer_ugv/help/git.py,sha256=4CcaA8lHoplrrFgF5lolwVT79SLr3gE2iqXpAIfzH64,319
145
145
  bluer_ugv/help/swallow/__init__.py,sha256=t65DuR-96-29wNylRysfId86OLNxsW4AM2YnN4V4DbM,755
146
146
  bluer_ugv/help/swallow/dataset.py,sha256=59D5XLQG1PRWfPwfM73Jz1-f0qh_cO0q18qLtsxXtj0,2495
147
147
  bluer_ugv/help/swallow/debug.py,sha256=70krqg-YtjxPjPwWnx4J1Fxlvw46hHyAYq7pA7yPt50,481
148
- bluer_ugv/help/swallow/env.py,sha256=AwNGF7ZcwQz7-Q8uKaLuajyIMXpi9yGMS27Xq0-QvUs,1325
148
+ bluer_ugv/help/swallow/env.py,sha256=0CZyXIMWV2cpV_VbgdSEXigc63UNvQ-L2tjb-5Edwe8,1531
149
149
  bluer_ugv/help/swallow/keyboard.py,sha256=YNkGWvE7tN3agCaL2R30FSIF2zw6oXa5ZJdnTJQA3Hk,518
150
150
  bluer_ugv/help/swallow/select_target.py,sha256=s1-v2IyT6thAncIzo4wKnU8hFJ-rDyi-IDzx2kMaJrs,390
151
151
  bluer_ugv/help/swallow/ultrasonic_sensor.py,sha256=rhxHQWDU7orCvqC_TeJWMCJFrm4qyJyHdiUIUIpZmhU,1223
@@ -168,11 +168,12 @@ bluer_ugv/swallow/session/classical/mode.py,sha256=6rFe1IIpfijuI7Xd-wcGKhYQ7EdQx
168
168
  bluer_ugv/swallow/session/classical/mousepad.py,sha256=LI7yvmtrZZaGUgPGpxNU7zcPkW8D5ykHlY_O-4H2STs,1871
169
169
  bluer_ugv/swallow/session/classical/position.py,sha256=gNeNzNpUG8zkDrcwibxaYStPNKUN1_DV5RjHu_pHMIg,913
170
170
  bluer_ugv/swallow/session/classical/push_button.py,sha256=s8sPart_dECjLK-gfsJi0UorRYcFYf3ofLqjmG8PoA8,2397
171
- bluer_ugv/swallow/session/classical/session.py,sha256=qtVnnXT7mpO7y0uXssL3ZHuP9xfXJyBtD1e7ZcwFEiI,5540
172
- bluer_ugv/swallow/session/classical/camera/__init__.py,sha256=KOehn6qHKj3EMbV5uGXKIfN_v4D5-E2xH9aCWqbNlAI,375
173
- bluer_ugv/swallow/session/classical/camera/generic.py,sha256=xmztClNYkosYo2TcIS2Ax4Bessc8lx4hlt9LnMcobfU,1216
171
+ bluer_ugv/swallow/session/classical/session.py,sha256=zdP5pUy6u35BBptkQM8kn1w1P-bduFWQNiSju3ftlaM,5858
172
+ bluer_ugv/swallow/session/classical/camera/__init__.py,sha256=2GchuT19_Ns0uYRS5aUMz4pBwbK3y5XoFxoAlAnJKh8,464
173
+ bluer_ugv/swallow/session/classical/camera/generic.py,sha256=V_PdQkVfs7kJvjzjD7xVV8Zommx8eVBVGIfvL1vl86M,1091
174
174
  bluer_ugv/swallow/session/classical/camera/navigation.py,sha256=HoeTlifGEfnedb6o8P-O0TcP1bNDRJ0M7vWupQh1pL4,6790
175
175
  bluer_ugv/swallow/session/classical/camera/tracking.py,sha256=fXDCA7UCQT0I6_djk16AgRdulySVEjJSKOgD8bDpQng,3651
176
+ bluer_ugv/swallow/session/classical/camera/void.py,sha256=IJkJQgTgVucTYagFIwKEchNf3Vcjl99EdCdSdvKaeJo,216
176
177
  bluer_ugv/swallow/session/classical/camera/yolo.py,sha256=i-lEsLpqlmm1v3sa5azQYk7LCgU9Me5y28-LSPurc7g,6412
177
178
  bluer_ugv/swallow/session/classical/keyboard/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
178
179
  bluer_ugv/swallow/session/classical/keyboard/__main__.py,sha256=tdX-a8MC9ix6aQ9isZXfnIqa9SuiYGr73Yy05RwvdCs,603
@@ -186,7 +187,7 @@ bluer_ugv/swallow/session/classical/motor/rear.py,sha256=mIBpUxBeiw1me5WY3jbtMya
186
187
  bluer_ugv/swallow/session/classical/motor/right.py,sha256=3BwCXA6VxxyRBG3rsnRXGviS5gIda14UCqaELGMOJNk,539
187
188
  bluer_ugv/swallow/session/classical/motor/steering.py,sha256=-_-6C9cGYFgt_WH3hwTSV8jL5I_qkxc2O45Ck8SlFCo,545
188
189
  bluer_ugv/swallow/session/classical/screen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
189
- bluer_ugv/swallow/session/classical/screen/classes.py,sha256=LeQOY_UeNfy5JJSMmlLvAdN-Ob0pChrdQRzm8Z0XexU,1202
190
+ bluer_ugv/swallow/session/classical/screen/classes.py,sha256=EzMJOcI5b153pHYAzTeNKU82CHc9AKyNS5ZfudoBvTo,1311
190
191
  bluer_ugv/swallow/session/classical/screen/video/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
191
192
  bluer_ugv/swallow/session/classical/screen/video/__main__.py,sha256=2uyKoxnZ9LwYWlEP_KDEyvIrwRL31SjK7I-xvM-eZpI,2190
192
193
  bluer_ugv/swallow/session/classical/screen/video/engine.py,sha256=-P_VSdqBjP2KBooMzcc-izWP-GMfl4q07t4Fyc6CQH4,3752
@@ -206,8 +207,8 @@ bluer_ugv/swallow/session/classical/ultrasonic_sensor/pack.py,sha256=bVcG8V0P6Sl
206
207
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/review.py,sha256=_iQmec2VSq-ORkTVpXSNJg08hrSz2M1O8LzNZEtoT9U,959
207
208
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/sensor.py,sha256=En-J8BRTiR8k9p2CBbW0cOUuw8nctD5DOXDm5uhCNO4,3987
208
209
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/testing.py,sha256=yj2MY_Jo1FzeXnR_JoFAXsb9eHEVhicDiHEsUa8z03U,1525
209
- bluer_ugv-7.522.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
210
- bluer_ugv-7.522.1.dist-info/METADATA,sha256=cZcfl6rCAR6lkfIjvlmJvKgOSPlRbbllhqyiIRk_BRo,5579
211
- bluer_ugv-7.522.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
212
- bluer_ugv-7.522.1.dist-info/top_level.txt,sha256=_MlDhFvIPpher9Zs7xyJTHgO2xJJTbfR1dzncz3LQnk,10
213
- bluer_ugv-7.522.1.dist-info/RECORD,,
210
+ bluer_ugv-7.535.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
211
+ bluer_ugv-7.535.1.dist-info/METADATA,sha256=sjwgJVJwbggRjg53rGM0sIGelSr9zzvmU5bSTtt1AiE,5579
212
+ bluer_ugv-7.535.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
213
+ bluer_ugv-7.535.1.dist-info/top_level.txt,sha256=_MlDhFvIPpher9Zs7xyJTHgO2xJJTbfR1dzncz3LQnk,10
214
+ bluer_ugv-7.535.1.dist-info/RECORD,,