bluer-ugv 7.835.1__py3-none-any.whl → 7.846.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.

Potentially problematic release.


This version of bluer-ugv might be problematic. Click here for more details.

@@ -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
+ ]
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.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).
@@ -1,4 +1,4 @@
1
- bluer_ugv/__init__.py,sha256=bbufNjLuKygZJkxyR29xYLqO41w4UQS64R69WIP6D8U,288
1
+ bluer_ugv/__init__.py,sha256=PEYmCDfXYf2upLtD0VBnU1XjTFSxOh8XTfMjfqBEUNE,288
2
2
  bluer_ugv/__main__.py,sha256=77TquqyMca7qHk0XtCixGVyzfW3_9ywnl5oXEPERlls,374
3
3
  bluer_ugv/config.env,sha256=29E09ffL9mJQr3J9J_Xi5KoIiOxqDF1akquddhz4zrE,1237
4
4
  bluer_ugv/env.py,sha256=dxTqlES0xLLooYDWcJDM7oOEJsOBE9LScHNtVjInvWQ,2366
@@ -27,6 +27,8 @@ bluer_ugv/.abcli/swallow/dataset/download.sh,sha256=4Br0hYqENIEYm15yTJGJeHFNfVNF
27
27
  bluer_ugv/.abcli/swallow/dataset/edit.sh,sha256=ujhKhv3XIpkqcahnp01JkL4WXaOgRp9gNu7eZpZSYaA,595
28
28
  bluer_ugv/.abcli/swallow/dataset/list.sh,sha256=-hqgmThG2JfheFSYIe6Z3UH05X5hrSuIovZxCCYcqN0,609
29
29
  bluer_ugv/.abcli/swallow/dataset/upload.sh,sha256=KM33QM4rIQpltbd_V49wPWear9Wi8cJNo0bBBeCEENU,577
30
+ bluer_ugv/.abcli/swallow/env/cat.sh,sha256=4WKKVcut5LuLIXqiuUIIczrfJj1TC5SrUxeuf3bp-ro,134
31
+ bluer_ugv/.abcli/swallow/env/cd.sh,sha256=kJZvmel0ECQa2_FLP1umPBX97RX9IssP3Zcok3Z7wiY,93
30
32
  bluer_ugv/.abcli/swallow/env/cp.sh,sha256=vWBlG9n4Q6m_lBWcot9nyN6kc7-uil5skCjfJWHCfrY,168
31
33
  bluer_ugv/.abcli/swallow/env/list.sh,sha256=pT-hRS0ZfmogAfAMfm-hh0raGoUAnl66U5VuqgyeIwE,173
32
34
  bluer_ugv/.abcli/swallow/env/set.sh,sha256=ed6NCkhYK9LNhSYU_iJUNYXuyQFzmH9mydQ5agihhvA,817
@@ -42,7 +44,7 @@ bluer_ugv/.abcli/swallow/video/playlist/download.sh,sha256=_HsWoW3rtLWMZpAxd2iem
42
44
  bluer_ugv/.abcli/swallow/video/playlist/edit.sh,sha256=_l-XpJOybxIkfcE797DBXwlcBcWSZqzTwIEGxk14-BY,403
43
45
  bluer_ugv/.abcli/swallow/video/playlist/upload.sh,sha256=8yGQtenNTNPQvifffED0FCP4Rjz0jHHvaDdcTv-vn9M,206
44
46
  bluer_ugv/.abcli/tests/README.sh,sha256=w1xjPWgCfWbLtON_LEn2cvSmPLulzm7kTBPEC3LJixs,142
45
- bluer_ugv/.abcli/tests/help.sh,sha256=T99APdWB491sx1SVQjKCuNK8vvKuFBEu8Kvq2YZKuhc,1630
47
+ bluer_ugv/.abcli/tests/help.sh,sha256=AgZxTvwWUcC05E1PRT73N2yPW7lY5IiSNkyRbEaQaAA,1687
46
48
  bluer_ugv/.abcli/tests/swallow_dataset_combine.sh,sha256=tXjZj5iOOmCz3ito9lBDYjaAvR2odNzs2LRXsrM6d6c,291
47
49
  bluer_ugv/.abcli/tests/swallow_dataset_combine_explicit.sh,sha256=Ff4V7fi-h1myRT9ajjaKXesNrpaxLZMGDidBT8G31Kw,360
48
50
  bluer_ugv/.abcli/tests/swallow_dataset_combine_sequence.sh,sha256=N3Iq-zJV2OfEoft44D1BBLOlrkAbUDN_Rp_sAmjCEVk,311
@@ -97,9 +99,10 @@ bluer_ugv/README/fire/docs.py,sha256=JZcj-UQvUpDFOOW-uPVf63dvseGnEKVBeydHrQwIpnU
97
99
  bluer_ugv/README/fire/items.py,sha256=1r7sUjj0SrrPfHCadFEBORw3x0l6mXwk1T9Eu-QDzZk,74
98
100
  bluer_ugv/README/rangin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
101
  bluer_ugv/README/rangin/consts.py,sha256=QOtHe3TL9XoVQk3KD8bxBCdnXXjjnyCtobsYqYVPJ7s,270
100
- bluer_ugv/README/rangin/docs.py,sha256=6SODAsT_Z2zgE1TzjIo6Xeqcswah2BgmhUWFV1ds10g,272
102
+ bluer_ugv/README/rangin/docs.py,sha256=WzpCiwACFFbumScPQdhrIzNRL472N2pHXqYnqBrSfWE,308
101
103
  bluer_ugv/README/rangin/items.py,sha256=15Yt6SR_vTy8JjLP6FdyiliN59kOejMIt0-wTcvI0Sk,387
102
104
  bluer_ugv/README/rangin/mechanical.py,sha256=N2R3vWQViszKPdwFASb8odYmvj-aWiNSMrtmLdTPt3M,1206
105
+ bluer_ugv/README/rangin/operation.py,sha256=CT7w7Bt-ZnNu5mNYQhFJVp5CVfO_2tEnuwx_u4UN-l4,71
103
106
  bluer_ugv/README/rangin/parts.py,sha256=JZ_GPQEDxWnCiLHycLzddAz6Y_U4T5oFOXtZkjA12eA,532
104
107
  bluer_ugv/README/rangin/power.py,sha256=f9-LaIlAj9lb9URI3RTx4E5pzUrN5fyasQ_p5QnmW9c,123
105
108
  bluer_ugv/README/rangin/root.py,sha256=WuUZaXZ4xoML5X6Rvmga758TLTUL4ZLadzdBERyWnKc,131
@@ -178,7 +181,7 @@ bluer_ugv/help/watch.py,sha256=1Xjet_lR7q1deEee7I0DZIS58HBn7AUoVAUpsE0l1Ns,355
178
181
  bluer_ugv/help/swallow/__init__.py,sha256=EeNSYD6q3eAbtFBncc4jgMfsBXWr_MBhF0hJE6gteoI,949
179
182
  bluer_ugv/help/swallow/dataset.py,sha256=59D5XLQG1PRWfPwfM73Jz1-f0qh_cO0q18qLtsxXtj0,2495
180
183
  bluer_ugv/help/swallow/debug.py,sha256=70krqg-YtjxPjPwWnx4J1Fxlvw46hHyAYq7pA7yPt50,481
181
- bluer_ugv/help/swallow/env.py,sha256=0CZyXIMWV2cpV_VbgdSEXigc63UNvQ-L2tjb-5Edwe8,1531
184
+ bluer_ugv/help/swallow/env.py,sha256=TdlZ73Vx6vB5bexUQ5Nefe4N6u0ugGpHTPphX2_thVc,2068
182
185
  bluer_ugv/help/swallow/ethernet.py,sha256=9ACYo8blwSNb0ZobU68h6oCfUu0vMRpsVHSH2Ddv4UE,571
183
186
  bluer_ugv/help/swallow/git.py,sha256=u_08uXk1OqL5oV9vdunldr_EWpxo_aA5LemvW-gp0cw,425
184
187
  bluer_ugv/help/swallow/keyboard.py,sha256=YNkGWvE7tN3agCaL2R30FSIF2zw6oXa5ZJdnTJQA3Hk,518
@@ -203,7 +206,7 @@ bluer_ugv/swallow/session/classical/mode.py,sha256=6rFe1IIpfijuI7Xd-wcGKhYQ7EdQx
203
206
  bluer_ugv/swallow/session/classical/mousepad.py,sha256=LI7yvmtrZZaGUgPGpxNU7zcPkW8D5ykHlY_O-4H2STs,1871
204
207
  bluer_ugv/swallow/session/classical/position.py,sha256=gNeNzNpUG8zkDrcwibxaYStPNKUN1_DV5RjHu_pHMIg,913
205
208
  bluer_ugv/swallow/session/classical/push_button.py,sha256=s8sPart_dECjLK-gfsJi0UorRYcFYf3ofLqjmG8PoA8,2397
206
- bluer_ugv/swallow/session/classical/session.py,sha256=7HJIzfVgynh7aC2WKwuEqxULOSbL77Xj_8623xeLoHk,7884
209
+ bluer_ugv/swallow/session/classical/session.py,sha256=N87dTTqxYDXsbNPhx3kSVtzzF8m_DwulEAGYj_oHiRA,7896
207
210
  bluer_ugv/swallow/session/classical/camera/__init__.py,sha256=2GchuT19_Ns0uYRS5aUMz4pBwbK3y5XoFxoAlAnJKh8,464
208
211
  bluer_ugv/swallow/session/classical/camera/generic.py,sha256=tW7bQMzmBi9MV28cTlKlDhFdtnB-9mkpBzjaWzEJNec,1220
209
212
  bluer_ugv/swallow/session/classical/camera/navigation.py,sha256=HoeTlifGEfnedb6o8P-O0TcP1bNDRJ0M7vWupQh1pL4,6790
@@ -250,8 +253,8 @@ bluer_ugv/swallow/session/classical/ultrasonic_sensor/pack.py,sha256=bVcG8V0P6Sl
250
253
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/review.py,sha256=_iQmec2VSq-ORkTVpXSNJg08hrSz2M1O8LzNZEtoT9U,959
251
254
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/sensor.py,sha256=En-J8BRTiR8k9p2CBbW0cOUuw8nctD5DOXDm5uhCNO4,3987
252
255
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/testing.py,sha256=yj2MY_Jo1FzeXnR_JoFAXsb9eHEVhicDiHEsUa8z03U,1525
253
- bluer_ugv-7.835.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
254
- bluer_ugv-7.835.1.dist-info/METADATA,sha256=mhe3kXAn59-0e-ju-aTlxeVDmqD3VAilbP37eOspYlY,5612
255
- bluer_ugv-7.835.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
256
- bluer_ugv-7.835.1.dist-info/top_level.txt,sha256=_MlDhFvIPpher9Zs7xyJTHgO2xJJTbfR1dzncz3LQnk,10
257
- bluer_ugv-7.835.1.dist-info/RECORD,,
256
+ bluer_ugv-7.846.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
257
+ bluer_ugv-7.846.1.dist-info/METADATA,sha256=2oi7ANhwse9-4r0tlVRllzC9Q_XNt8QM_2M333qRoE0,5612
258
+ bluer_ugv-7.846.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
259
+ bluer_ugv-7.846.1.dist-info/top_level.txt,sha256=_MlDhFvIPpher9Zs7xyJTHgO2xJJTbfR1dzncz3LQnk,10
260
+ bluer_ugv-7.846.1.dist-info/RECORD,,