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 +46 -1
- qlsdk/ar4m/ar4sdk.py +4 -1
- qlsdk/ar4m/libs/libAr4SDK.dll +0 -0
- qlsdk/ar4m/libs/libwinpthread-1.dll +0 -0
- {qlsdk2-0.1.2.dist-info → qlsdk2-0.1.4.dist-info}/METADATA +1 -1
- qlsdk2-0.1.4.dist-info/RECORD +11 -0
- qlsdk2-0.1.2.dist-info/RECORD +0 -9
- {qlsdk2-0.1.2.dist-info → qlsdk2-0.1.4.dist-info}/WHEEL +0 -0
- {qlsdk2-0.1.2.dist-info → qlsdk2-0.1.4.dist-info}/top_level.txt +0 -0
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(
|
|
17
|
+
_dll = ctypes.CDLL(dll_path)
|
|
15
18
|
else:
|
|
16
19
|
raise NotImplementedError(f"不支持非Windows平台:{platform.system()}")
|
|
17
20
|
|
|
Binary file
|
|
Binary file
|
|
@@ -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,,
|
qlsdk2-0.1.2.dist-info/RECORD
DELETED
|
@@ -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
|
|
File without changes
|