bluer-ugv 7.502.1__py3-none-any.whl → 7.515.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.
@@ -1,7 +1,7 @@
1
1
  from bluer_objects.README.items import ImageItems
2
2
 
3
3
  from bluer_ugv.README.swallow.consts import swallow_assets2
4
- from bluer_ugv.README.computer import box, pcb, power, schematics, testing
4
+ from bluer_ugv.README.computer import box, power, schematics, shield, testing
5
5
 
6
6
 
7
7
  docs = (
@@ -22,7 +22,7 @@ docs = (
22
22
  },
23
23
  ]
24
24
  + box.docs
25
- + pcb.docs
25
+ + shield.docs
26
26
  + power.docs
27
27
  + schematics.docs
28
28
  + testing.docs
@@ -33,17 +33,29 @@ v2_items = ImageItems(
33
33
  }
34
34
  )
35
35
 
36
+ testing_items = ImageItems(
37
+ {
38
+ f"{swallow_assets2}/20251113_205142.jpg": "",
39
+ f"{swallow_assets2}/20251113_210730.jpg": "",
40
+ f"{swallow_assets2}/20251113_210706.jpg": "",
41
+ },
42
+ )
43
+
36
44
  docs = [
37
45
  {
38
- "path": "../docs/swallow/digital/design/computer/pcb.md",
46
+ "path": "../docs/swallow/digital/design/computer/shield",
39
47
  "items": items,
40
48
  },
41
49
  {
42
- "path": "../docs/swallow/digital/design/computer/v1.md",
50
+ "path": "../docs/swallow/digital/design/computer/shield/v1.md",
43
51
  "items": v1_items,
44
52
  },
45
53
  {
46
- "path": "../docs/swallow/digital/design/computer/v2.md",
54
+ "path": "../docs/swallow/digital/design/computer/shield/v2.md",
47
55
  "items": v2_items,
48
56
  },
57
+ {
58
+ "path": "../docs/swallow/digital/design/computer/shield/testing.md",
59
+ "items": testing_items,
60
+ },
49
61
  ]
@@ -4,10 +4,12 @@ from bluer_ugv.README.swallow.consts import swallow_assets2
4
4
 
5
5
  items = ImageItems(
6
6
  {
7
- f"{swallow_assets2}/20251113_205142.jpg": "",
8
- f"{swallow_assets2}/20251113_210730.jpg": "",
9
- f"{swallow_assets2}/20251113_210706.jpg": "",
10
- },
7
+ f"{swallow_assets2}/20251116_145939.jpg": "",
8
+ f"{swallow_assets2}/20251116_150940.jpg": "",
9
+ f"{swallow_assets2}/20251116_151611.jpg": "",
10
+ f"{swallow_assets2}/20251116_152801.jpg": "",
11
+ f"{swallow_assets2}/20251116_152832_1.gif": "",
12
+ }
11
13
  )
12
14
 
13
15
  docs = [
@@ -71,11 +71,8 @@ docs = (
71
71
  "path": "../docs/swallow/digital/design/testing.md",
72
72
  "items": ImageItems(
73
73
  {
74
- f"{swallow_assets2}/20251116_145939.jpg": "",
75
- f"{swallow_assets2}/20251116_150940.jpg": "",
76
- f"{swallow_assets2}/20251116_151611.jpg": "",
77
- f"{swallow_assets2}/20251116_152801.jpg": "",
78
- f"{swallow_assets2}/20251116_152832_1.gif": "",
74
+ f"{swallow_assets2}/20251201_172535~2_1.gif": "",
75
+ f"{swallow_assets2}/20251203_112604.jpg": "",
79
76
  }
80
77
  ),
81
78
  },
@@ -34,6 +34,7 @@ dict_of_ugvs = {
34
34
  f"{arzhang_assets2}/20251128_151952.jpg",
35
35
  f"{arzhang_assets2}/20251128_155616.jpg",
36
36
  f"{arzhang_assets2}/20251130_140103.jpg",
37
+ f"{arzhang_assets2}/20251203_112602.jpg",
37
38
  ]
38
39
  ),
39
40
  },
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.502.1"
7
+ VERSION = "7.515.1"
8
8
 
9
9
  REPO_NAME = "bluer-ugv"
10
10
 
@@ -16,7 +16,8 @@ class ClassicalScreen:
16
16
 
17
17
  def cleanup(self):
18
18
  logger.info(f"{self.__class__.__name__}.cleanup")
19
- self.video_player.stop()
19
+ if self.video_player is not None:
20
+ self.video_player.stop()
20
21
 
21
22
  def initialize(self) -> bool:
22
23
  if self.video_player is None:
@@ -138,7 +138,7 @@ class ClassicalSession:
138
138
 
139
139
  self.timing.calculate()
140
140
  loop_frequency = round(
141
- 1 / self.timing.stats["session.update"]["average"],
141
+ 1 / self.timing.stats["session.update"].get("average", -1),
142
142
  2,
143
143
  )
144
144
  self.timing.log()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_ugv
3
- Version: 7.502.1
3
+ Version: 7.515.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.502.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.515.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=vlG89W_MS8bFYmW68rOzdHWjDeA9PcRj8SCbDm0lEpE,288
1
+ bluer_ugv/__init__.py,sha256=M_f3HmxOcwXQlwyO5AG1CcNb0h-b2IO0JZbtHXP0MiI,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
@@ -67,11 +67,11 @@ 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=tdQNMmH-yTmTkus1xPbJ_Yw8xEK_Ew_A-qlcjPuzMBg,728
71
- bluer_ugv/README/computer/pcb.py,sha256=E2eZ9Xp_y-utJuIps4lmj_Z6wxq77zOG3zuwhaLLT0I,1498
70
+ bluer_ugv/README/computer/docs.py,sha256=6z8ib4eZrsRcqtlNDR--UYnneEypGe2kzTe3Hwh79-k,734
72
71
  bluer_ugv/README/computer/power.py,sha256=NDr3vWM4TGARlvRJuWg7DhkWAitBxnCorxrV73Xxn28,390
73
72
  bluer_ugv/README/computer/schematics.py,sha256=1ZPKmuEBWwYb7_L1uzjK-14e-9qeBENpZCdgnbu6yeI,378
74
- bluer_ugv/README/computer/testing.py,sha256=fJVpPxeg3KNtvRg15j14GDkzXQqPoFUVGRtGp7_Xk2Y,428
73
+ bluer_ugv/README/computer/shield.py,sha256=fbvEEK-vQUo0RuHL7WG_svBbnhB_m_IMS-cz6Ypa15I,1840
74
+ bluer_ugv/README/computer/testing.py,sha256=WLr6UmjG9bGXBVSUsV77OJw3pqW8o45wKdKBavjRlFQ,537
75
75
  bluer_ugv/README/eagle/__init__.py,sha256=jDRkrWZL4ZNOS3jwTs3uHKAbrXQjbVimYSjC4ShX8ww,647
76
76
  bluer_ugv/README/eagle/consts.py,sha256=u92JMMAWnB8ayWxKNTiqz_leAAszv427m4nZjJYJq4Y,116
77
77
  bluer_ugv/README/eagle/items.py,sha256=ombp026VFK_w1oP7p9X6jcRskr4jTDOXqoxD0UB5Rvo,320
@@ -92,11 +92,11 @@ bluer_ugv/README/swallow/digital/__init__.py,sha256=kyb46k4FsGZKgWW2QRM33pLUQl5t
92
92
  bluer_ugv/README/swallow/digital/algo/__init__.py,sha256=iHwEi_kwQUk0E3YtGKDrjTKV-PDRuDpAo69IMCE8uZ4,711
93
93
  bluer_ugv/README/swallow/digital/algo/navigation.py,sha256=Hg_tkGYnE8qbM37Go4KlAaO-sNAtOBmaNZlPda45BCc,1780
94
94
  bluer_ugv/README/swallow/digital/algo/yolo.py,sha256=NlDISZ9LOUmMAzdEYzVYOrIwbDGdM8euMURlBOGACUk,930
95
- bluer_ugv/README/swallow/digital/design/__init__.py,sha256=9ScXJn0UdHYVYiWyTV0Uz4EmWoZ-7_s1bJQiGgCLAwA,2751
95
+ bluer_ugv/README/swallow/digital/design/__init__.py,sha256=BFmNyvt_JgYnCoT-WtA-4okzyC3tTyWMvzpf0O9FVM8,2555
96
96
  bluer_ugv/README/swallow/digital/design/mechanical.py,sha256=OwgMrFIpRA-RR9CwurXaif09GCd6_i3zGuAfkH0jtsM,983
97
97
  bluer_ugv/README/swallow/digital/design/ultrasonic_sensor.py,sha256=VefIdTUXnsxVj3rmjsguV7N2BD9tPRiiaHjjRl84QUM,1517
98
98
  bluer_ugv/README/ugvs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
- bluer_ugv/README/ugvs/db.py,sha256=Y1SG-VpV1K92u6XxkyMutyu7Ahh3BOmSgjqOrP1ohrM,1368
99
+ bluer_ugv/README/ugvs/db.py,sha256=1hmr8LSp9uBIq2pRbrw3eUjtTw29iCovVhNxxRcb5po,1426
100
100
  bluer_ugv/README/ugvs/docs.py,sha256=Yef40N1hVZP3fEZBQyekFDRfcXJLA_adlMak0jSios8,1920
101
101
  bluer_ugv/README/ugvs/comparison/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
102
  bluer_ugv/README/ugvs/comparison/build.py,sha256=xN1u7LyB92VYZgctAdWVjVWimpkDZFBhfG44fO7EKMg,3784
@@ -164,7 +164,7 @@ bluer_ugv/swallow/session/classical/mode.py,sha256=6rFe1IIpfijuI7Xd-wcGKhYQ7EdQx
164
164
  bluer_ugv/swallow/session/classical/mousepad.py,sha256=LI7yvmtrZZaGUgPGpxNU7zcPkW8D5ykHlY_O-4H2STs,1871
165
165
  bluer_ugv/swallow/session/classical/position.py,sha256=gNeNzNpUG8zkDrcwibxaYStPNKUN1_DV5RjHu_pHMIg,913
166
166
  bluer_ugv/swallow/session/classical/push_button.py,sha256=s8sPart_dECjLK-gfsJi0UorRYcFYf3ofLqjmG8PoA8,2397
167
- bluer_ugv/swallow/session/classical/session.py,sha256=n3Q9G3Qdbw8Cb12yaEj5HLfuyJm70kZi_DVJqxItD8E,5532
167
+ bluer_ugv/swallow/session/classical/session.py,sha256=qtVnnXT7mpO7y0uXssL3ZHuP9xfXJyBtD1e7ZcwFEiI,5540
168
168
  bluer_ugv/swallow/session/classical/camera/__init__.py,sha256=KOehn6qHKj3EMbV5uGXKIfN_v4D5-E2xH9aCWqbNlAI,375
169
169
  bluer_ugv/swallow/session/classical/camera/generic.py,sha256=xmztClNYkosYo2TcIS2Ax4Bessc8lx4hlt9LnMcobfU,1216
170
170
  bluer_ugv/swallow/session/classical/camera/navigation.py,sha256=HoeTlifGEfnedb6o8P-O0TcP1bNDRJ0M7vWupQh1pL4,6790
@@ -182,7 +182,7 @@ bluer_ugv/swallow/session/classical/motor/rear.py,sha256=mIBpUxBeiw1me5WY3jbtMya
182
182
  bluer_ugv/swallow/session/classical/motor/right.py,sha256=3BwCXA6VxxyRBG3rsnRXGviS5gIda14UCqaELGMOJNk,539
183
183
  bluer_ugv/swallow/session/classical/motor/steering.py,sha256=-_-6C9cGYFgt_WH3hwTSV8jL5I_qkxc2O45Ck8SlFCo,545
184
184
  bluer_ugv/swallow/session/classical/screen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
185
- bluer_ugv/swallow/session/classical/screen/classes.py,sha256=5lS7vtDk2YeEPEd6ywowgiPgE2iYz9WIWoyBsCcUbGM,1156
185
+ bluer_ugv/swallow/session/classical/screen/classes.py,sha256=LeQOY_UeNfy5JJSMmlLvAdN-Ob0pChrdQRzm8Z0XexU,1202
186
186
  bluer_ugv/swallow/session/classical/screen/video/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
187
187
  bluer_ugv/swallow/session/classical/screen/video/__main__.py,sha256=2uyKoxnZ9LwYWlEP_KDEyvIrwRL31SjK7I-xvM-eZpI,2190
188
188
  bluer_ugv/swallow/session/classical/screen/video/engine.py,sha256=-P_VSdqBjP2KBooMzcc-izWP-GMfl4q07t4Fyc6CQH4,3752
@@ -202,8 +202,8 @@ bluer_ugv/swallow/session/classical/ultrasonic_sensor/pack.py,sha256=bVcG8V0P6Sl
202
202
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/review.py,sha256=_iQmec2VSq-ORkTVpXSNJg08hrSz2M1O8LzNZEtoT9U,959
203
203
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/sensor.py,sha256=En-J8BRTiR8k9p2CBbW0cOUuw8nctD5DOXDm5uhCNO4,3987
204
204
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/testing.py,sha256=yj2MY_Jo1FzeXnR_JoFAXsb9eHEVhicDiHEsUa8z03U,1525
205
- bluer_ugv-7.502.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
206
- bluer_ugv-7.502.1.dist-info/METADATA,sha256=J2DGG5OxxaZTmmHo5qPuiJgv7baH5fGFvfb_i-yOSb8,5579
207
- bluer_ugv-7.502.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
208
- bluer_ugv-7.502.1.dist-info/top_level.txt,sha256=_MlDhFvIPpher9Zs7xyJTHgO2xJJTbfR1dzncz3LQnk,10
209
- bluer_ugv-7.502.1.dist-info/RECORD,,
205
+ bluer_ugv-7.515.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
206
+ bluer_ugv-7.515.1.dist-info/METADATA,sha256=i__G8PEqitMeUfRSafK1-fRC8_GZUCyN_s25x0SPxLs,5579
207
+ bluer_ugv-7.515.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
208
+ bluer_ugv-7.515.1.dist-info/top_level.txt,sha256=_MlDhFvIPpher9Zs7xyJTHgO2xJJTbfR1dzncz3LQnk,10
209
+ bluer_ugv-7.515.1.dist-info/RECORD,,