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 CHANGED
@@ -1,4 +1,48 @@
1
1
  __path__ = __import__("pkgutil").extend_path(__path__, __name__)
2
2
 
3
- from .ar4m import AR4M
4
- from .ar4sdk import AR4SDK, AR4, Packet, AR4Packet
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: qlsdk2
3
- Version: 0.1.3
3
+ Version: 0.1.5
4
4
  Summary: SDK for quanlan device
5
5
  Home-page: https://github.com/hehuajun/qlsdk
6
6
  Author: hehuajun
@@ -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("程序结束。")
@@ -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