pigeon-transmission 0.0.2__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.
- pigeon_transmission/__init__.py +4 -0
- pigeon_transmission/device_h4.py +996 -0
- pigeon_transmission/device_h5.py +1056 -0
- pigeon_transmission-0.0.2.dist-info/METADATA +116 -0
- pigeon_transmission-0.0.2.dist-info/RECORD +8 -0
- pigeon_transmission-0.0.2.dist-info/WHEEL +5 -0
- pigeon_transmission-0.0.2.dist-info/licenses/LICENSE +692 -0
- pigeon_transmission-0.0.2.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pigeon-transmission
|
|
3
|
+
Version: 0.0.2
|
|
4
|
+
Summary: This library provides a high-level interface for communicating with IMT Analytics devices via RS232
|
|
5
|
+
Author: Bachatero18, Dennis Schramm
|
|
6
|
+
License: GPL-3.0-or-later
|
|
7
|
+
Keywords: pigeon-transmission,pigeon,imt,imt-analytics,citrex,H4,H5,flow,analyser,serial,transmission
|
|
8
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
9
|
+
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: Intended Audience :: End Users/Desktop
|
|
12
|
+
Classifier: Intended Audience :: Education
|
|
13
|
+
Classifier: Operating System :: OS Independent
|
|
14
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
15
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
16
|
+
Classifier: Operating System :: MacOS :: MacOS X
|
|
17
|
+
Classifier: Operating System :: Unix
|
|
18
|
+
Classifier: Operating System :: POSIX :: BSD
|
|
19
|
+
Classifier: Operating System :: POSIX :: BSD :: FreeBSD
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
25
|
+
Requires-Python: >=3.10
|
|
26
|
+
Description-Content-Type: text/markdown
|
|
27
|
+
License-File: LICENSE
|
|
28
|
+
Requires-Dist: pyserial
|
|
29
|
+
Dynamic: license-file
|
|
30
|
+
|
|
31
|
+
# General information
|
|
32
|
+
|
|
33
|
+
pigeon‑transmission is an independently developed Python library that provides simple and reliable serial
|
|
34
|
+
communication with measurement devices from IMT Analytics. It is designed for users who want to
|
|
35
|
+
automate data acquisition, integrate measurement workflows, or control devices programmatically.
|
|
36
|
+
|
|
37
|
+
This is an unofficial project and is not developed, reviewed, or supported by IMT Analytics.
|
|
38
|
+
The development of this library was carried out entirely independently of IMT Analytics.
|
|
39
|
+
|
|
40
|
+
## ⚙️ Installation
|
|
41
|
+
Python 3.10 or higher is required
|
|
42
|
+
```
|
|
43
|
+
pip install pigeon-transmission
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## 🚀 Example Usage
|
|
47
|
+
|
|
48
|
+
### First Example - with statement
|
|
49
|
+
```python
|
|
50
|
+
from pigeon_transmission import DeviceH4
|
|
51
|
+
|
|
52
|
+
with DeviceH4(port="com2") as device:
|
|
53
|
+
print(device.write_setting(operation_name="gas_type", value="air")) # WS
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Second Example - Explicit Resource Management
|
|
57
|
+
```python
|
|
58
|
+
from pigeon_transmission import DeviceH4
|
|
59
|
+
|
|
60
|
+
device = DeviceH4()
|
|
61
|
+
device.open_serial_interface(port="com2") # open
|
|
62
|
+
print(device.write_setting(operation_name="gas_type", value="air")) # WS
|
|
63
|
+
device.close_serial_interface() # close
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Third Example - Manual Resource Management (The instance does not need to stay alive)
|
|
67
|
+
```python
|
|
68
|
+
from pigeon_transmission import DeviceH4
|
|
69
|
+
|
|
70
|
+
device = DeviceH4()
|
|
71
|
+
serial_object = device.open_serial_interface(port="com2") # open
|
|
72
|
+
print(device.execute_command(operation_name="switch_echo", value="off", serial_object=serial_object)) # CM
|
|
73
|
+
device.close_serial_interface(serial_object=serial_object) # close
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Fast data mode
|
|
77
|
+
```python
|
|
78
|
+
import queue # only for fast data
|
|
79
|
+
import threading # only for fast data
|
|
80
|
+
from pigeon_transmission import DeviceH4
|
|
81
|
+
|
|
82
|
+
device = DeviceH4()
|
|
83
|
+
device.open_serial_interface(port="com2") # open serial connection
|
|
84
|
+
|
|
85
|
+
data_queue, stop_queue = queue.Queue(), queue.Queue()
|
|
86
|
+
|
|
87
|
+
# Start background thread for fast data streaming
|
|
88
|
+
thread_stream = threading.Thread(
|
|
89
|
+
target=device.start_stream,
|
|
90
|
+
args=("high_flow", "differential_pressure", "temperature",
|
|
91
|
+
data_queue, stop_queue, 5),
|
|
92
|
+
daemon=True
|
|
93
|
+
)
|
|
94
|
+
thread_stream.start()
|
|
95
|
+
|
|
96
|
+
# Main loop: receive streamed measurement data
|
|
97
|
+
while stop_queue.empty():
|
|
98
|
+
try:
|
|
99
|
+
data = data_queue.get(timeout=1)
|
|
100
|
+
print(data)
|
|
101
|
+
# --- Handle incoming data here ---
|
|
102
|
+
# Process, log, visualize, or store the measurement values.
|
|
103
|
+
# To stop streaming, call:
|
|
104
|
+
# stop_queue.put(True)
|
|
105
|
+
# This will end the loop and signal the thread to stop.
|
|
106
|
+
# ---------------------------------
|
|
107
|
+
except queue.Empty:
|
|
108
|
+
pass
|
|
109
|
+
|
|
110
|
+
# Wait for the streaming thread to finish
|
|
111
|
+
thread_stream.join()
|
|
112
|
+
device.close_serial_interface() # close serial connection
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Notes
|
|
116
|
+
* Measurement of I:E ratio – Use Ti/Te if Ti > Te, otherwise Te/Ti
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
pigeon_transmission/__init__.py,sha256=2qyx71gqVPVtVpU2Q9w3GxkGlz_rfzFOkb9kIfJ6E_E,91
|
|
2
|
+
pigeon_transmission/device_h4.py,sha256=QwYGdwMHk6QyEGMY3G3QmJXgumddaa1GEzo82kaFGxE,61501
|
|
3
|
+
pigeon_transmission/device_h5.py,sha256=dR74vO3Q0GiUgeITQCoEG_jjp1SGnLRYyvBN2NgmoiQ,67672
|
|
4
|
+
pigeon_transmission-0.0.2.dist-info/licenses/LICENSE,sha256=-odym1eHF9U-H0I6b-cAIIOiTDGP6inBZxSpR-AZnFM,36607
|
|
5
|
+
pigeon_transmission-0.0.2.dist-info/METADATA,sha256=aockKra-UH6LbVnfiubooAgnYpPqYRW8cSmOLiUhl-k,4206
|
|
6
|
+
pigeon_transmission-0.0.2.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
7
|
+
pigeon_transmission-0.0.2.dist-info/top_level.txt,sha256=LPGlwjSdWjUnP8iU5_hcNvoqP7XIgJPdT4LTF1GotBc,20
|
|
8
|
+
pigeon_transmission-0.0.2.dist-info/RECORD,,
|