bluer-ugv 7.340.1__py3-none-any.whl → 7.353.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.
@@ -25,5 +25,11 @@ items = ImageItems(
25
25
  f"{arzhang_assets2}/20251005_112332.jpg": "",
26
26
  f"{arzhang_assets2}/20251005_112530.jpg": "",
27
27
  f"{arzhang_assets2}/20251018_213230.jpg": "",
28
+ f"{swallow_assets2}/20251117_112301.jpg": "",
29
+ f"{swallow_assets2}/20251117_120134.jpg": "",
30
+ f"{swallow_assets2}/20251117_125503.jpg": "",
31
+ f"{swallow_assets2}/20251117_125515.jpg": "",
32
+ f"{swallow_assets2}/20251117_125544.jpg": "",
33
+ f"{swallow_assets2}/20251117_160851.jpg": "",
28
34
  }
29
35
  )
bluer_ugv/README/build.py CHANGED
@@ -12,12 +12,12 @@ from bluer_ugv.README import (
12
12
  fire,
13
13
  ravin,
14
14
  root,
15
- shield,
16
15
  arzhang,
17
16
  rangin,
18
17
  releases,
19
18
  swallow,
20
19
  )
20
+ from bluer_ugv.README.shield import docs as shield
21
21
  from bluer_ugv.README.ugvs import docs as ugvs
22
22
  from bluer_ugv.README.ugvs.comparison.build import build as build_comparison
23
23
 
File without changes
@@ -0,0 +1,25 @@
1
+ from bluer_objects.README.items import ImageItems
2
+
3
+ from bluer_ugv.README.swallow.consts import (
4
+ swallow_assets2,
5
+ swallow_electrical_designs,
6
+ )
7
+
8
+ items = ImageItems(
9
+ {
10
+ f"{swallow_electrical_designs}/nuts-bolts-spacers.png": f"{swallow_electrical_designs}/nuts-bolts-spacers.svg",
11
+ f"{swallow_assets2}/20251018_133202.jpg": "",
12
+ f"{swallow_assets2}/20251018_133349.jpg": "",
13
+ f"{swallow_assets2}/20251008_114557.jpg": "",
14
+ f"{swallow_assets2}/20251008_133418.jpg": "",
15
+ f"{swallow_assets2}/20251008_124129.jpg": "",
16
+ f"{swallow_assets2}/20251008_124932.jpg": "",
17
+ }
18
+ )
19
+
20
+ docs = [
21
+ {
22
+ "path": "../docs/swallow/digital/design/shield/box.md",
23
+ "items": items,
24
+ }
25
+ ]
@@ -0,0 +1,17 @@
1
+ from bluer_ugv.README.shield import box, pcb, schematics, testing
2
+
3
+
4
+ docs = (
5
+ [
6
+ {
7
+ "path": "../docs/swallow/digital/design/shield",
8
+ },
9
+ {
10
+ "path": "../docs/swallow/digital/design/shield/connectors-v1.md",
11
+ },
12
+ ]
13
+ + box.docs
14
+ + pcb.docs
15
+ + schematics.docs
16
+ + testing.docs
17
+ )
@@ -0,0 +1,49 @@
1
+ from bluer_objects.README.items import ImageItems
2
+
3
+ from bluer_ugv.README.swallow.consts import swallow_assets2, swallow_designs
4
+
5
+
6
+ items = ImageItems(
7
+ {
8
+ f"{swallow_designs}/kicad/swallow/exports/swallow.png": f"{swallow_designs}/kicad/swallow/exports/swallow.pdf",
9
+ f"{swallow_designs}/kicad/swallow/exports/swallow-3d.png": "",
10
+ f"{swallow_designs}/kicad/swallow/exports/swallow-3d-back.png": "",
11
+ f"{swallow_designs}/kicad/swallow/exports/swallow-pcb.png": "",
12
+ f"{swallow_assets2}/20251112_085331.jpg": "",
13
+ f"{swallow_assets2}/20251112_181047.jpg": "",
14
+ f"{swallow_assets2}/20251112_181053.jpg": "",
15
+ }
16
+ )
17
+
18
+ v1_items = ImageItems(
19
+ {
20
+ f"{swallow_assets2}/20250614_102301.jpg": "",
21
+ }
22
+ )
23
+
24
+ v2_items = ImageItems(
25
+ {
26
+ f"{swallow_assets2}/20250703_153834.jpg": "",
27
+ f"{swallow_assets2}/20250925_213013.jpg": "",
28
+ f"{swallow_assets2}/20250925_214017.jpg": "",
29
+ f"{swallow_assets2}/20250928_160425.jpg": "",
30
+ f"{swallow_assets2}/20250928_160449.jpg": "",
31
+ f"{swallow_assets2}/20251002_103712.jpg": "",
32
+ f"{swallow_assets2}/20251002_103720.jpg": "",
33
+ }
34
+ )
35
+
36
+ docs = [
37
+ {
38
+ "path": "../docs/swallow/digital/design/shield/pcb.md",
39
+ "items": items,
40
+ },
41
+ {
42
+ "path": "../docs/swallow/digital/design/shield/v1.md",
43
+ "items": v1_items,
44
+ },
45
+ {
46
+ "path": "../docs/swallow/digital/design/shield/v2.md",
47
+ "items": v2_items,
48
+ },
49
+ ]
@@ -0,0 +1,17 @@
1
+ from bluer_objects.README.items import ImageItems
2
+
3
+ from bluer_ugv.README.swallow.consts import swallow_electrical_designs
4
+
5
+
6
+ items = ImageItems(
7
+ {
8
+ f"{swallow_electrical_designs}/digital.png": f"{swallow_electrical_designs}/digital.svg",
9
+ }
10
+ )
11
+
12
+ docs = [
13
+ {
14
+ "path": "../docs/swallow/digital/design/shield/schematics.md",
15
+ "items": items,
16
+ },
17
+ ]
@@ -0,0 +1,18 @@
1
+ from bluer_objects.README.items import ImageItems
2
+
3
+ from bluer_ugv.README.swallow.consts import swallow_assets2
4
+
5
+ items = ImageItems(
6
+ {
7
+ f"{swallow_assets2}/20251113_205142.jpg": "",
8
+ f"{swallow_assets2}/20251113_210730.jpg": "",
9
+ f"{swallow_assets2}/20251113_210706.jpg": "",
10
+ },
11
+ )
12
+
13
+ docs = [
14
+ {
15
+ "path": "../docs/swallow/digital/design/shield/testing.md",
16
+ "items": items,
17
+ },
18
+ ]
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.340.1"
7
+ VERSION = "7.353.1"
8
8
 
9
9
  REPO_NAME = "bluer-ugv"
10
10
 
@@ -0,0 +1,11 @@
1
+ from bluer_options.host.functions import is_headless
2
+
3
+ from bluer_ugv.logger import logger
4
+
5
+
6
+ class ClassicalScreen:
7
+ def __init__(self):
8
+ if is_headless():
9
+ return
10
+
11
+ logger.info(f"{self.__class__.__name__} created.")
@@ -24,6 +24,7 @@ from bluer_ugv.swallow.session.classical.motor import (
24
24
  )
25
25
  from bluer_ugv.swallow.session.classical.setpoint.classes import ClassicalSetPoint
26
26
  from bluer_ugv.swallow.session.classical.position import ClassicalPosition
27
+ from bluer_ugv.swallow.session.classical.screen import ClassicalScreen
27
28
  from bluer_ugv.swallow.session.classical.ultrasonic_sensor.classes import (
28
29
  ClassicalUltrasonicSensor,
29
30
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_ugv
3
- Version: 7.340.1
3
+ Version: 7.353.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.340.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.353.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=xXtW9EsLvg-OFuzaJja7o1H7jzIpZJ_F-b9epaEqxvI,288
1
+ bluer_ugv/__init__.py,sha256=AhHrazbe73K-Te3J1rZR9W2LEzdxBWabx6412bFfgNQ,288
2
2
  bluer_ugv/__main__.py,sha256=77TquqyMca7qHk0XtCixGVyzfW3_9ywnl5oXEPERlls,374
3
3
  bluer_ugv/config.env,sha256=psiLmasSe300nOPkLqMurFalZTvNE43zAsBQLEEDp-k,949
4
4
  bluer_ugv/env.py,sha256=asv-2OByZzf1c4ta3CHMZQDEcY8cd2WDUOa-_OCNYvU,1757
@@ -44,19 +44,18 @@ bluer_ugv/.abcli/ugv/git.sh,sha256=U5p_5qrNwLw8O7HfHu7QZgLblbDc6Z6lIumgKwu3mzY,2
44
44
  bluer_ugv/README/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
45
  bluer_ugv/README/alias.py,sha256=MdTRUMg3rLbWS_AQz1WXwbkEjKEjBx5uM_fDwYmMGFY,173
46
46
  bluer_ugv/README/beast.py,sha256=6sOpm4vNXxNtNMZszgiuqqJaBBWG02WaSgKfbdt7J4E,57
47
- bluer_ugv/README/build.py,sha256=4OLHq3042TsyeFl5ekl0842vZGVMKbws5hWqz6brHdE,1450
47
+ bluer_ugv/README/build.py,sha256=4Qntcb246SixgBCClLbitasEr5IAF_P1AXkSBdh4PTw,1489
48
48
  bluer_ugv/README/consts.py,sha256=bQ98yk28E8-EBh2wUgMNr-sZ90IC3q7BmTzJe5XCS3g,257
49
49
  bluer_ugv/README/items.py,sha256=esAHk5pAXAEV1XBaRjnCqmD_42HFcsvZwO9EljsmiZc,2221
50
50
  bluer_ugv/README/releases.py,sha256=0_nYEXDoCiIyzoVdl8DtKBWnN5aE9BsmEbeQ5ZySUg8,116
51
51
  bluer_ugv/README/root.py,sha256=h1piDAmlkdfbKZeZTW3HWzsW4VpKG6L776oYK7hC-J0,296
52
- bluer_ugv/README/shield.py,sha256=a--cVfLENeQmIY4517jNnYEmad71hiJF6Bg_ut4BhyM,2602
53
52
  bluer_ugv/README/shortcuts.py,sha256=2kcWvPIZIcnvMrD08FB2JWoxIT3xijKuhKtJSjmDk9A,1312
54
53
  bluer_ugv/README/arzhang/__init__.py,sha256=va9n90xUAEkO1-161yciOdmqOTJ2RaBOi-5yTA6IEPs,350
55
54
  bluer_ugv/README/arzhang/algo.py,sha256=om7gokRGJ5X_yMi40r9SgoNav3C4Pcd7S7TuQv58ccs,134
56
55
  bluer_ugv/README/arzhang/consts.py,sha256=o7IDyn7hCXFsHQuAX_qM196R1vEkTcxyC9K5TOaB4G4,239
57
56
  bluer_ugv/README/arzhang/design.py,sha256=1DtC1GQRKhM7wUWVSW2zsg6ww6y1RlcFr5iQYYOQwpo,1303
58
57
  bluer_ugv/README/arzhang/flag.py,sha256=aTSQXk_sK09Wj7UCtAFkqruA0jwTvySHycG5pMu6Kp0,553
59
- bluer_ugv/README/arzhang/items.py,sha256=roaCCdYqea6cwPxdn8ahyDilu8ePhGGOc2er1aCWM7k,1333
58
+ bluer_ugv/README/arzhang/items.py,sha256=kMbopWBiwSelO4wFB0hD65Ndty_XXqEJBpJVibRUawU,1657
60
59
  bluer_ugv/README/eagle/__init__.py,sha256=jDRkrWZL4ZNOS3jwTs3uHKAbrXQjbVimYSjC4ShX8ww,647
61
60
  bluer_ugv/README/eagle/consts.py,sha256=u92JMMAWnB8ayWxKNTiqz_leAAszv427m4nZjJYJq4Y,116
62
61
  bluer_ugv/README/eagle/items.py,sha256=ombp026VFK_w1oP7p9X6jcRskr4jTDOXqoxD0UB5Rvo,320
@@ -69,6 +68,12 @@ bluer_ugv/README/rangin/items.py,sha256=PZST5IQl4fTHG5RIe3gJGa2dqiH4tXa0WXPGkhwK
69
68
  bluer_ugv/README/ravin/__init__.py,sha256=T_JGY6XXeiutQ80JRCaxSIx-lkovRoXj6Vl_g1eXtq0,243
70
69
  bluer_ugv/README/ravin/consts.py,sha256=ofmtRHvct6qYK-MAc5clBI9sGFEIVhITx3PAxra61JA,54
71
70
  bluer_ugv/README/ravin/items.py,sha256=bTi0qAiY53fGmkO_uwGwstDzgARmcHxSc2a6Z0Zj9wo,583
71
+ bluer_ugv/README/shield/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
+ bluer_ugv/README/shield/box.py,sha256=ZOxpxWzNf1wKNJAv_8nblRdB8wWy_0W66HS0EybxF1U,743
73
+ bluer_ugv/README/shield/docs.py,sha256=bJR5Pg_asfSAgrc0ydWH6GFnU3-EtPnLLt_6LxRILe0,343
74
+ bluer_ugv/README/shield/pcb.py,sha256=_RaSF_UzWtSNU57S_3aEMr3WEdu5YItcd8h9vq3HRhM,1492
75
+ bluer_ugv/README/shield/schematics.py,sha256=ZU7kZnuCNqE7yfESMxGCwAwfzSiKc1oFOTcL-SqOIJU,376
76
+ bluer_ugv/README/shield/testing.py,sha256=2Gi_BG8GBuSNJ_BjSPhhSIiwsO4XbKci8wwLQ3h71dY,426
72
77
  bluer_ugv/README/swallow/__init__.py,sha256=Xp3jXDG67omwp8pcVKerq-P6eZ853EDHIfhrxM9-Ew8,250
73
78
  bluer_ugv/README/swallow/analog.py,sha256=NmFEukeKepYRtIc0UT_F96uRKKukFM585UA6mlaW9ZM,360
74
79
  bluer_ugv/README/swallow/consts.py,sha256=VKu8qhDqLiGICErKpW-FMUtHGDM0P28teR8eKM8gFc4,376
@@ -146,7 +151,8 @@ bluer_ugv/swallow/session/classical/mode.py,sha256=6rFe1IIpfijuI7Xd-wcGKhYQ7EdQx
146
151
  bluer_ugv/swallow/session/classical/mousepad.py,sha256=LI7yvmtrZZaGUgPGpxNU7zcPkW8D5ykHlY_O-4H2STs,1871
147
152
  bluer_ugv/swallow/session/classical/position.py,sha256=gNeNzNpUG8zkDrcwibxaYStPNKUN1_DV5RjHu_pHMIg,913
148
153
  bluer_ugv/swallow/session/classical/push_button.py,sha256=s8sPart_dECjLK-gfsJi0UorRYcFYf3ofLqjmG8PoA8,2397
149
- bluer_ugv/swallow/session/classical/session.py,sha256=ak1rLQL85AtNfKRA9hoZjGTTuwrIHCcI2vvE9kZIeuw,5373
154
+ bluer_ugv/swallow/session/classical/screen.py,sha256=XzExo4l_FpQg151NsaL_KfXx_V0slY9aRCF7kXJnf5g,244
155
+ bluer_ugv/swallow/session/classical/session.py,sha256=lHchI7OB9S65K5QGvqPYfFu90q3SN8eNlXZiXSdcvVI,5444
150
156
  bluer_ugv/swallow/session/classical/camera/__init__.py,sha256=KOehn6qHKj3EMbV5uGXKIfN_v4D5-E2xH9aCWqbNlAI,375
151
157
  bluer_ugv/swallow/session/classical/camera/generic.py,sha256=xmztClNYkosYo2TcIS2Ax4Bessc8lx4hlt9LnMcobfU,1216
152
158
  bluer_ugv/swallow/session/classical/camera/navigation.py,sha256=HoeTlifGEfnedb6o8P-O0TcP1bNDRJ0M7vWupQh1pL4,6790
@@ -176,8 +182,8 @@ bluer_ugv/swallow/session/classical/ultrasonic_sensor/pack.py,sha256=vMvmay2Gxg8
176
182
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/review.py,sha256=_iQmec2VSq-ORkTVpXSNJg08hrSz2M1O8LzNZEtoT9U,959
177
183
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/sensor.py,sha256=En-J8BRTiR8k9p2CBbW0cOUuw8nctD5DOXDm5uhCNO4,3987
178
184
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/testing.py,sha256=RIMHXmLXe1zXLvCNU163ymLI8XM6te9LXuCMnLuulbA,1515
179
- bluer_ugv-7.340.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
180
- bluer_ugv-7.340.1.dist-info/METADATA,sha256=8X78ByT_dKK1UvmjPSD00wb01n2JPQq1nzWz9c3VQL8,5573
181
- bluer_ugv-7.340.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
182
- bluer_ugv-7.340.1.dist-info/top_level.txt,sha256=_MlDhFvIPpher9Zs7xyJTHgO2xJJTbfR1dzncz3LQnk,10
183
- bluer_ugv-7.340.1.dist-info/RECORD,,
185
+ bluer_ugv-7.353.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
186
+ bluer_ugv-7.353.1.dist-info/METADATA,sha256=2xVB1gnOu2EAygNvCLSSe9bMOLp9LtYT1FCOn8r7l3I,5573
187
+ bluer_ugv-7.353.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
188
+ bluer_ugv-7.353.1.dist-info/top_level.txt,sha256=_MlDhFvIPpher9Zs7xyJTHgO2xJJTbfR1dzncz3LQnk,10
189
+ bluer_ugv-7.353.1.dist-info/RECORD,,
@@ -1,62 +0,0 @@
1
- from bluer_objects.README.items import ImageItems
2
-
3
- from bluer_ugv.README.swallow.consts import (
4
- swallow_assets2,
5
- swallow_designs,
6
- swallow_electrical_designs,
7
- )
8
-
9
- items = ImageItems(
10
- {
11
- f"{swallow_electrical_designs}/digital.png": f"{swallow_electrical_designs}/digital.svg",
12
- f"{swallow_assets2}/20250609_164433.jpg": "",
13
- f"{swallow_assets2}/20250614_102301.jpg": "",
14
- f"{swallow_assets2}/20250614_114954.jpg": "",
15
- f"{swallow_assets2}/20250615_192339.jpg": "",
16
- f"{swallow_assets2}/20250703_153834.jpg": "",
17
- f"{swallow_assets2}/design/v2/01.jpg": "",
18
- f"{swallow_assets2}/design/v3/01.jpg": "",
19
- f"{swallow_assets2}/design/v4/01.jpg": "",
20
- f"{swallow_assets2}/20250925_213013.jpg": "",
21
- f"{swallow_assets2}/20250925_214017.jpg": "",
22
- f"{swallow_assets2}/20250928_160425.jpg": "",
23
- f"{swallow_assets2}/20250928_160449.jpg": "",
24
- f"{swallow_assets2}/design/head-v1/01.jpg": "",
25
- f"{swallow_assets2}/20251002_103712.jpg": "",
26
- f"{swallow_assets2}/20251002_103720.jpg": "",
27
- f"{swallow_assets2}/design/v5/01.jpg": "",
28
- f"{swallow_electrical_designs}/nuts-bolts-spacers.png": f"{swallow_electrical_designs}/nuts-bolts-spacers.svg",
29
- f"{swallow_assets2}/20251018_133202.jpg": "",
30
- f"{swallow_assets2}/20251018_133349.jpg": "",
31
- f"{swallow_assets2}/20251008_114557.jpg": "",
32
- f"{swallow_assets2}/20251008_133418.jpg": "",
33
- f"{swallow_assets2}/20251008_124129.jpg": "",
34
- f"{swallow_assets2}/20251008_124932.jpg": "",
35
- f"{swallow_designs}/kicad/swallow/exports/swallow.png": f"{swallow_designs}/kicad/swallow/exports/swallow.pdf",
36
- f"{swallow_designs}/kicad/swallow/exports/swallow-3d.png": "",
37
- f"{swallow_designs}/kicad/swallow/exports/swallow-3d-back.png": "",
38
- f"{swallow_designs}/kicad/swallow/exports/swallow-pcb.png": "",
39
- f"{swallow_assets2}/20250609_164433.jpg": "",
40
- f"{swallow_assets2}/20251112_085331.jpg": "",
41
- f"{swallow_assets2}/20251112_181047.jpg": "",
42
- f"{swallow_assets2}/20251112_181053.jpg": "",
43
- }
44
- )
45
-
46
-
47
- docs = [
48
- {
49
- "path": "../docs/swallow/digital/design/shield",
50
- "items": items,
51
- },
52
- {
53
- "path": "../docs/swallow/digital/design/shield/testing.md",
54
- "items": ImageItems(
55
- {
56
- f"{swallow_assets2}/20251113_205142.jpg": "",
57
- f"{swallow_assets2}/20251113_210730.jpg": "",
58
- f"{swallow_assets2}/20251113_210706.jpg": "",
59
- },
60
- ),
61
- },
62
- ]