qlsdk2 0.1.2__py3-none-any.whl → 0.1.4__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.
qlsdk/ar4m/__init__.py CHANGED
@@ -1,4 +1,49 @@
1
1
  __path__ = __import__("pkgutil").extend_path(__path__, __name__)
2
2
 
3
3
  from .ar4m import AR4M
4
- from .ar4sdk import AR4SDK, AR4, Packet, AR4Packet
4
+ from .ar4sdk import AR4SDK, AR4, Packet, AR4Packet
5
+
6
+
7
+ from time import sleep, time
8
+ from threading import Lock, Timer
9
+ from loguru import logger
10
+
11
+ class AR4M(object):
12
+ def __init__(self):
13
+ self._lock = Lock()
14
+ self._search_timer = None
15
+ self._search_running = False
16
+ self._devices: dict[str, AR4] = {}
17
+
18
+ @property
19
+ def devices(self):
20
+ return self._devices
21
+ def search(self):
22
+ if not self._search_running:
23
+ self._search_running = True
24
+ self._search()
25
+
26
+ def _search(self):
27
+ if self._search_running:
28
+
29
+ self._search_timer = Timer(2, self._search_ar4)
30
+ self._search_timer.daemon = True
31
+ self._search_timer.start()
32
+
33
+
34
+ def _search_ar4(self):
35
+ try:
36
+ devices = AR4SDK.enum_devices()
37
+ logger.debug(f"_search_ar4 devices size: {len(devices)}")
38
+ for dev in devices:
39
+ logger.debug(f"slot: {dev.slot}, mac: {dev.mac}-{hex(dev.mac)}, hub_name: {dev.hub_name.str}")
40
+ if dev.mac in list(self._devices.keys()):
41
+ ar4 = self._devices[dev.mac]
42
+ ar4.update_info()
43
+ ar4 = AR4(hex(dev.mac), dev.slot, dev.hub_name.str)
44
+ if ar4.init():
45
+ self._devices[dev.mac] = ar4
46
+ except Exception as e:
47
+ logger.error(f"_search_ar4 异常: {str(e)}")
48
+ finally:
49
+ self._search()
qlsdk/ar4m/ar4sdk.py CHANGED
@@ -8,10 +8,13 @@ from ctypes import (
8
8
  )
9
9
  from loguru import logger
10
10
  from time import sleep, time
11
+ import os
11
12
 
13
+ real_path = os.path.realpath(__file__)
14
+ dll_path = f'{real_path}/libs/libAr4SDK.dll'
12
15
  # 加载 DLL
13
16
  if platform.system() == 'Windows':
14
- _dll = ctypes.CDLL('./libs/libAr4SDK.dll')
17
+ _dll = ctypes.CDLL(dll_path)
15
18
  else:
16
19
  raise NotImplementedError(f"不支持非Windows平台:{platform.system()}")
17
20
 
Binary file
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: qlsdk2
3
- Version: 0.1.2
3
+ Version: 0.1.4
4
4
  Summary: SDK for quanlan device
5
5
  Home-page: https://github.com/hehuajun/qlsdk
6
6
  Author: hehuajun
@@ -0,0 +1,11 @@
1
+ qlsdk/__init__.py,sha256=pHMMwFiz7AGYlWvxo-81Obd7gIkojhLAEUGe0yuiAJI,372
2
+ qlsdk/ar4m/__init__.py,sha256=cKGc8qW2e8JDnaDbxxS7GQhtOQF2PlekNf4WA2LmWXY,1640
3
+ qlsdk/ar4m/ar4m.py,sha256=AOYvvo04dD0W4EMrKDCx63pUzwL1f_CVcM_N4rebhQc,1524
4
+ qlsdk/ar4m/ar4sdk.py,sha256=A0-YRC_TAjw7b15mNa9UFwtsp8xMIxCv9WQKgGtb6ZY,14017
5
+ qlsdk/ar4m/example.py,sha256=cm0HeRb53roKw5HYZ4uqnDZ6suaSUdqOW_hCTcGY8lo,1501
6
+ qlsdk/ar4m/libs/libAr4SDK.dll,sha256=kZp9_DRwPdAJ5OgTFQSqS8tEETxUs7YmmETuBP2g60U,15402132
7
+ qlsdk/ar4m/libs/libwinpthread-1.dll,sha256=W77ySaDQDi0yxpnQu-ifcU6-uHKzmQpcvsyx2J9j5eg,52224
8
+ qlsdk2-0.1.4.dist-info/METADATA,sha256=U7-5HjSjE57ptTxzDNQdC_IF-4ZztkP9s_jfvv2D6uQ,7001
9
+ qlsdk2-0.1.4.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
10
+ qlsdk2-0.1.4.dist-info/top_level.txt,sha256=2CHzn0SY-NIBVyBl07Suh-Eo8oBAQfyNPtqQ_aDatBg,6
11
+ qlsdk2-0.1.4.dist-info/RECORD,,
@@ -1,9 +0,0 @@
1
- qlsdk/__init__.py,sha256=pHMMwFiz7AGYlWvxo-81Obd7gIkojhLAEUGe0yuiAJI,372
2
- qlsdk/ar4m/__init__.py,sha256=-vJiKDRJZKvl3cefwsdtRRYobvpuwdLuMhc669pmZvo,142
3
- qlsdk/ar4m/ar4m.py,sha256=AOYvvo04dD0W4EMrKDCx63pUzwL1f_CVcM_N4rebhQc,1524
4
- qlsdk/ar4m/ar4sdk.py,sha256=N79P-92qjxPvLN4iYjxQIz-Fe18YP6bGLsXLbDY4eIg,13933
5
- qlsdk/ar4m/example.py,sha256=cm0HeRb53roKw5HYZ4uqnDZ6suaSUdqOW_hCTcGY8lo,1501
6
- qlsdk2-0.1.2.dist-info/METADATA,sha256=g6dCXuVWekuLwk8tQNPGTjRVIjLZ0UqVV5TnX-GXWAQ,7001
7
- qlsdk2-0.1.2.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
8
- qlsdk2-0.1.2.dist-info/top_level.txt,sha256=2CHzn0SY-NIBVyBl07Suh-Eo8oBAQfyNPtqQ_aDatBg,6
9
- qlsdk2-0.1.2.dist-info/RECORD,,
File without changes