qlsdk2 0.1.3__py3-none-any.whl → 0.1.5__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 -2
- qlsdk/ar4m/ar4sdk.py +2 -1
- qlsdk/ar4m/libs/libAr4SDK.dll +0 -0
- qlsdk/ar4m/libs/libwinpthread-1.dll +0 -0
- {qlsdk2-0.1.3.dist-info → qlsdk2-0.1.5.dist-info}/METADATA +1 -1
- qlsdk2-0.1.5.dist-info/RECORD +9 -0
- qlsdk/ar4m/ar4m.py +0 -44
- qlsdk/ar4m/example.py +0 -51
- qlsdk2-0.1.3.dist-info/RECORD +0 -9
- {qlsdk2-0.1.3.dist-info → qlsdk2-0.1.5.dist-info}/WHEEL +0 -0
- {qlsdk2-0.1.3.dist-info → qlsdk2-0.1.5.dist-info}/top_level.txt +0 -0
qlsdk/ar4m/__init__.py
CHANGED
|
@@ -1,4 +1,48 @@
|
|
|
1
1
|
__path__ = __import__("pkgutil").extend_path(__path__, __name__)
|
|
2
2
|
|
|
3
|
-
from .
|
|
4
|
-
|
|
3
|
+
from .ar4sdk import AR4SDK, AR4, Packet, AR4Packet
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
from time import sleep, time
|
|
7
|
+
from threading import Lock, Timer
|
|
8
|
+
from loguru import logger
|
|
9
|
+
|
|
10
|
+
class AR4M(object):
|
|
11
|
+
def __init__(self):
|
|
12
|
+
self._lock = Lock()
|
|
13
|
+
self._search_timer = None
|
|
14
|
+
self._search_running = False
|
|
15
|
+
self._devices: dict[str, AR4] = {}
|
|
16
|
+
|
|
17
|
+
@property
|
|
18
|
+
def devices(self):
|
|
19
|
+
return self._devices
|
|
20
|
+
def search(self):
|
|
21
|
+
if not self._search_running:
|
|
22
|
+
self._search_running = True
|
|
23
|
+
self._search()
|
|
24
|
+
|
|
25
|
+
def _search(self):
|
|
26
|
+
if self._search_running:
|
|
27
|
+
|
|
28
|
+
self._search_timer = Timer(2, self._search_ar4)
|
|
29
|
+
self._search_timer.daemon = True
|
|
30
|
+
self._search_timer.start()
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def _search_ar4(self):
|
|
34
|
+
try:
|
|
35
|
+
devices = AR4SDK.enum_devices()
|
|
36
|
+
logger.debug(f"_search_ar4 devices size: {len(devices)}")
|
|
37
|
+
for dev in devices:
|
|
38
|
+
logger.debug(f"slot: {dev.slot}, mac: {dev.mac}-{hex(dev.mac)}, hub_name: {dev.hub_name.str}")
|
|
39
|
+
if dev.mac in list(self._devices.keys()):
|
|
40
|
+
ar4 = self._devices[dev.mac]
|
|
41
|
+
ar4.update_info()
|
|
42
|
+
ar4 = AR4(hex(dev.mac), dev.slot, dev.hub_name.str)
|
|
43
|
+
if ar4.init():
|
|
44
|
+
self._devices[dev.mac] = ar4
|
|
45
|
+
except Exception as e:
|
|
46
|
+
logger.error(f"_search_ar4 异常: {str(e)}")
|
|
47
|
+
finally:
|
|
48
|
+
self._search()
|
qlsdk/ar4m/ar4sdk.py
CHANGED
|
@@ -11,7 +11,8 @@ from time import sleep, time
|
|
|
11
11
|
import os
|
|
12
12
|
|
|
13
13
|
real_path = os.path.realpath(__file__)
|
|
14
|
-
dll_path = f'{real_path}/libs/libAr4SDK.dll'
|
|
14
|
+
dll_path = f'{os.path.dirname(real_path)}/libs/libAr4SDK.dll'
|
|
15
|
+
|
|
15
16
|
# 加载 DLL
|
|
16
17
|
if platform.system() == 'Windows':
|
|
17
18
|
_dll = ctypes.CDLL(dll_path)
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
qlsdk/__init__.py,sha256=pHMMwFiz7AGYlWvxo-81Obd7gIkojhLAEUGe0yuiAJI,372
|
|
2
|
+
qlsdk/ar4m/__init__.py,sha256=uUVaa4dhNjGFkYOKSbjHA_CCvcGSJjiHuFSXO1DdUPk,1616
|
|
3
|
+
qlsdk/ar4m/ar4sdk.py,sha256=BiP5Zw83qxzxCHayP4yUFC9a797sFD2UxuhNoSOjN2I,14036
|
|
4
|
+
qlsdk/ar4m/libs/libAr4SDK.dll,sha256=kZp9_DRwPdAJ5OgTFQSqS8tEETxUs7YmmETuBP2g60U,15402132
|
|
5
|
+
qlsdk/ar4m/libs/libwinpthread-1.dll,sha256=W77ySaDQDi0yxpnQu-ifcU6-uHKzmQpcvsyx2J9j5eg,52224
|
|
6
|
+
qlsdk2-0.1.5.dist-info/METADATA,sha256=IXi0aQGGfRQPNJ5DwMNbyhxXSG2-rIJkUsVAyXW03l8,7001
|
|
7
|
+
qlsdk2-0.1.5.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
8
|
+
qlsdk2-0.1.5.dist-info/top_level.txt,sha256=2CHzn0SY-NIBVyBl07Suh-Eo8oBAQfyNPtqQ_aDatBg,6
|
|
9
|
+
qlsdk2-0.1.5.dist-info/RECORD,,
|
qlsdk/ar4m/ar4m.py
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
from ar4sdk import AR4SDK, AR4
|
|
2
|
-
from time import sleep, time
|
|
3
|
-
from threading import Lock, Timer
|
|
4
|
-
from loguru import logger
|
|
5
|
-
|
|
6
|
-
class AR4M(object):
|
|
7
|
-
def __init__(self):
|
|
8
|
-
self._lock = Lock()
|
|
9
|
-
self._search_timer = None
|
|
10
|
-
self._search_running = False
|
|
11
|
-
self._devices: dict[str, AR4] = {}
|
|
12
|
-
|
|
13
|
-
@property
|
|
14
|
-
def devices(self):
|
|
15
|
-
return self._devices
|
|
16
|
-
def search(self):
|
|
17
|
-
if not self._search_running:
|
|
18
|
-
self._search_running = True
|
|
19
|
-
self._search()
|
|
20
|
-
|
|
21
|
-
def _search(self):
|
|
22
|
-
if self._search_running:
|
|
23
|
-
|
|
24
|
-
self._search_timer = Timer(2, self._search_ar4)
|
|
25
|
-
self._search_timer.daemon = True
|
|
26
|
-
self._search_timer.start()
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
def _search_ar4(self):
|
|
30
|
-
try:
|
|
31
|
-
devices = AR4SDK.enum_devices()
|
|
32
|
-
logger.debug(f"_search_ar4 devices size: {len(devices)}")
|
|
33
|
-
for dev in devices:
|
|
34
|
-
logger.debug(f"slot: {dev.slot}, mac: {dev.mac}-{hex(dev.mac)}, hub_name: {dev.hub_name.str}")
|
|
35
|
-
if dev.mac in list(self._devices.keys()):
|
|
36
|
-
ar4 = self._devices[dev.mac]
|
|
37
|
-
ar4.update_info()
|
|
38
|
-
ar4 = AR4(hex(dev.mac), dev.slot, dev.hub_name.str)
|
|
39
|
-
if ar4.init():
|
|
40
|
-
self._devices[dev.mac] = ar4
|
|
41
|
-
except Exception as e:
|
|
42
|
-
logger.error(f"_search_ar4 异常: {str(e)}")
|
|
43
|
-
finally:
|
|
44
|
-
self._search()
|
qlsdk/ar4m/example.py
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
from time import sleep
|
|
2
|
-
from loguru import logger
|
|
3
|
-
import os
|
|
4
|
-
from threading import Thread
|
|
5
|
-
|
|
6
|
-
from ar4m import AR4M
|
|
7
|
-
|
|
8
|
-
#------------------------------------------------------------------
|
|
9
|
-
# 日志文件配置
|
|
10
|
-
#------------------------------------------------------------------
|
|
11
|
-
LOG_DIR = os.path.expanduser("./logs")
|
|
12
|
-
LOG_FILE = os.path.join(LOG_DIR, "app_{time}.log")
|
|
13
|
-
if not os.path.exists(LOG_DIR):
|
|
14
|
-
os.mkdir(LOG_DIR)
|
|
15
|
-
|
|
16
|
-
logger.add(LOG_FILE, rotation = "50MB")
|
|
17
|
-
|
|
18
|
-
def consumer(q):
|
|
19
|
-
t = Thread(target=deal_data, args=(q,))
|
|
20
|
-
t.daemon = True
|
|
21
|
-
t.start()
|
|
22
|
-
|
|
23
|
-
def deal_data(q):
|
|
24
|
-
while True:
|
|
25
|
-
data = q.get()
|
|
26
|
-
if data is None:
|
|
27
|
-
break
|
|
28
|
-
logger.info(data)
|
|
29
|
-
|
|
30
|
-
# 主函数
|
|
31
|
-
if __name__ == "__main__":
|
|
32
|
-
try:
|
|
33
|
-
ar4m = AR4M()
|
|
34
|
-
ar4m.search()
|
|
35
|
-
sleep(6)
|
|
36
|
-
for dev in list( ar4m.devices.values()):
|
|
37
|
-
ret = dev.start_acquisition()
|
|
38
|
-
topic, queue = dev.subscribe()
|
|
39
|
-
logger.info(f"启动{dev.box_mac}的数据采集{'成功' if ret else '失败'}")
|
|
40
|
-
|
|
41
|
-
sleep(60)
|
|
42
|
-
|
|
43
|
-
for dev in list( ar4m.devices.values()):
|
|
44
|
-
ret = dev.stop_acquisition()
|
|
45
|
-
dev.get_acq_start_time()
|
|
46
|
-
logger.info(f"关闭{dev.box_mac}的数据采集{'成功' if ret else '失败'}")
|
|
47
|
-
sleep(1)
|
|
48
|
-
except Exception as e:
|
|
49
|
-
logger.error(f"程序运行异常: {str(e)}")
|
|
50
|
-
finally:
|
|
51
|
-
logger.info("程序结束。")
|
qlsdk2-0.1.3.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=A0-YRC_TAjw7b15mNa9UFwtsp8xMIxCv9WQKgGtb6ZY,14017
|
|
5
|
-
qlsdk/ar4m/example.py,sha256=cm0HeRb53roKw5HYZ4uqnDZ6suaSUdqOW_hCTcGY8lo,1501
|
|
6
|
-
qlsdk2-0.1.3.dist-info/METADATA,sha256=jCflXcT5e7_L1M2OPH0wGdVh_oOhzDvKvEMQzj9iGIo,7001
|
|
7
|
-
qlsdk2-0.1.3.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
8
|
-
qlsdk2-0.1.3.dist-info/top_level.txt,sha256=2CHzn0SY-NIBVyBl07Suh-Eo8oBAQfyNPtqQ_aDatBg,6
|
|
9
|
-
qlsdk2-0.1.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|