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

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.669.1"
7
+ VERSION = "7.671.1"
8
8
 
9
9
  REPO_NAME = "bluer-ugv"
10
10
 
@@ -0,0 +1,45 @@
1
+ import threading
2
+ import time
3
+
4
+
5
+ from bluer_sbc.env import BLUER_SBC_AUDIO_ENABLED
6
+
7
+ from bluer_ugv.logger import logger
8
+
9
+
10
+ class ClassicalAudio:
11
+ def __init__(
12
+ self,
13
+ ):
14
+ self.enabled = BLUER_SBC_AUDIO_ENABLED == 1
15
+ logger.info(
16
+ "{}: {}".format(
17
+ self.__class__.__name__,
18
+ ("enabled" if self.enabled else "disabled"),
19
+ )
20
+ )
21
+
22
+ self.running = False
23
+
24
+ if not self.enabled:
25
+ return
26
+
27
+ self.running = True
28
+ self.thread = threading.Thread(target=self.loop, daemon=True)
29
+ self.thread.start()
30
+
31
+ def stop(self):
32
+ if not self.enabled:
33
+ return
34
+
35
+ self.running = False
36
+ self.thread.join()
37
+
38
+ logger.info(f"{self.__class__.__name__}.stopped.")
39
+
40
+ def loop(self):
41
+ logger.info(f"{self.__class__.__name__}.loop started.")
42
+
43
+ while self.running:
44
+ time.sleep(5)
45
+ logger.info("audio loop 🪄")
@@ -29,6 +29,7 @@ from bluer_ugv.swallow.session.classical.screen.classes import ClassicalScreen
29
29
  from bluer_ugv.swallow.session.classical.ultrasonic_sensor.classes import (
30
30
  ClassicalUltrasonicSensor,
31
31
  )
32
+ from bluer_ugv.swallow.session.classical.audio import ClassicalAudio
32
33
  from bluer_ugv.env import BLUER_UGV_MOUSEPAD_ENABLED
33
34
  from bluer_ugv.logger import logger
34
35
 
@@ -44,6 +45,8 @@ class ClassicalSession:
44
45
 
45
46
  self.leds = ClassicalLeds()
46
47
 
48
+ self.audio = ClassicalAudio()
49
+
47
50
  self.setpoint = ClassicalSetPoint(
48
51
  leds=self.leds,
49
52
  )
@@ -136,6 +139,7 @@ class ClassicalSession:
136
139
  self.timing = Timing()
137
140
 
138
141
  def cleanup(self):
142
+ self.audio.stop()
139
143
  self.ultrasonic_sensor.stop()
140
144
  self.camera.stop()
141
145
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_ugv
3
- Version: 7.669.1
3
+ Version: 7.671.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.669.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.671.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=qTyB3wM3S4G4kIjLia41I1MAYSBXPduTwi_bHGxadD4,288
1
+ bluer_ugv/__init__.py,sha256=4ja1M5mZgmOGV8HyACZ99j2pOYryKeMm6v9c_egv_XE,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
@@ -176,12 +176,13 @@ bluer_ugv/swallow/session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
176
176
  bluer_ugv/swallow/session/__main__.py,sha256=QFOnflCI6tB_qoG0S4Dpy-L0pW20tFffPPOb96LtypM,636
177
177
  bluer_ugv/swallow/session/functions.py,sha256=Jfv7Ab6TEhZMtVv348imNg7JVgPNezFcuovq5r65rAo,666
178
178
  bluer_ugv/swallow/session/classical/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
179
+ bluer_ugv/swallow/session/classical/audio.py,sha256=O7TKiOWEmHBDIJ97Q6C9XcKL7JBLXRwTZz-EeOrk7TI,984
179
180
  bluer_ugv/swallow/session/classical/leds.py,sha256=ElhE08rm-KLbQ59lJzStLWeNsfoO7tV2fPBMBXCKX_E,2241
180
181
  bluer_ugv/swallow/session/classical/mode.py,sha256=6rFe1IIpfijuI7Xd-wcGKhYQ7EdQxG4mYGVliTjS118,117
181
182
  bluer_ugv/swallow/session/classical/mousepad.py,sha256=LI7yvmtrZZaGUgPGpxNU7zcPkW8D5ykHlY_O-4H2STs,1871
182
183
  bluer_ugv/swallow/session/classical/position.py,sha256=gNeNzNpUG8zkDrcwibxaYStPNKUN1_DV5RjHu_pHMIg,913
183
184
  bluer_ugv/swallow/session/classical/push_button.py,sha256=s8sPart_dECjLK-gfsJi0UorRYcFYf3ofLqjmG8PoA8,2397
184
- bluer_ugv/swallow/session/classical/session.py,sha256=zdP5pUy6u35BBptkQM8kn1w1P-bduFWQNiSju3ftlaM,5858
185
+ bluer_ugv/swallow/session/classical/session.py,sha256=iQRBOUhqQVRdGqE1vZVkrdQhGkSPOk6aDjvRJ70r-pM,5992
185
186
  bluer_ugv/swallow/session/classical/camera/__init__.py,sha256=2GchuT19_Ns0uYRS5aUMz4pBwbK3y5XoFxoAlAnJKh8,464
186
187
  bluer_ugv/swallow/session/classical/camera/generic.py,sha256=tW7bQMzmBi9MV28cTlKlDhFdtnB-9mkpBzjaWzEJNec,1220
187
188
  bluer_ugv/swallow/session/classical/camera/navigation.py,sha256=HoeTlifGEfnedb6o8P-O0TcP1bNDRJ0M7vWupQh1pL4,6790
@@ -220,8 +221,8 @@ bluer_ugv/swallow/session/classical/ultrasonic_sensor/pack.py,sha256=bVcG8V0P6Sl
220
221
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/review.py,sha256=_iQmec2VSq-ORkTVpXSNJg08hrSz2M1O8LzNZEtoT9U,959
221
222
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/sensor.py,sha256=En-J8BRTiR8k9p2CBbW0cOUuw8nctD5DOXDm5uhCNO4,3987
222
223
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/testing.py,sha256=yj2MY_Jo1FzeXnR_JoFAXsb9eHEVhicDiHEsUa8z03U,1525
223
- bluer_ugv-7.669.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
224
- bluer_ugv-7.669.1.dist-info/METADATA,sha256=nbH60Tzpv0_bx-n-GyavHp05XAnNGR-VYBxBAvDHT5k,5677
225
- bluer_ugv-7.669.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
226
- bluer_ugv-7.669.1.dist-info/top_level.txt,sha256=_MlDhFvIPpher9Zs7xyJTHgO2xJJTbfR1dzncz3LQnk,10
227
- bluer_ugv-7.669.1.dist-info/RECORD,,
224
+ bluer_ugv-7.671.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
225
+ bluer_ugv-7.671.1.dist-info/METADATA,sha256=Cgir3dAauQVkH_LmkURwr1fypq4QoMEO-sroimgWFfg,5677
226
+ bluer_ugv-7.671.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
227
+ bluer_ugv-7.671.1.dist-info/top_level.txt,sha256=_MlDhFvIPpher9Zs7xyJTHgO2xJJTbfR1dzncz3LQnk,10
228
+ bluer_ugv-7.671.1.dist-info/RECORD,,