Skip to content

Commit 817b222

Browse files
authored
Merge branch 'master' into develop2
2 parents dc862ed + ac07883 commit 817b222

9 files changed

Lines changed: 249 additions & 214 deletions

File tree

.github/workflows/black.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ jobs:
1111
with:
1212
options: "--check --diff"
1313
src: "./sciopy"
14-
version: "24.10.0"
14+
version: "26.1.0"

.github/workflows/docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Build docs
1+
name: Build and deploy docs
22

33
on:
44
push:

docs/_autosummary/sciopy.EIT_16_32_64_128.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
~EIT_16_32_64_128.get_data_as_matrix
3535
~EIT_16_32_64_128.init_channel_group
3636
~EIT_16_32_64_128.update_BurstCount
37-
~EIT_16_32_64_128.update_ExcitationFrequency
3837
~EIT_16_32_64_128.update_FrameRate
3938
~EIT_16_32_64_128.write_command_string
4039

docs/_autosummary/sciopy.ISX_3.rst

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,8 @@
3232
~ISX_3.StartMeasure
3333
~ISX_3.SystemMessageCallback
3434
~ISX_3.__init__
35-
~ISX_3.connect_device_FTDI
36-
~ISX_3.disconnect_device_FTDI
37-
~ISX_3.info
38-
~ISX_3.list_usb_devices
35+
~ISX_3.connect_device_USB2
36+
~ISX_3.disconnect_device_USB2
3937
~ISX_3.write_command_string
4038

4139

examples/EIT-16-256-Ch.ipynb

Lines changed: 27 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,19 @@
55
"id": "1e1715cc-c123-45e2-b767-e6412faeebe3",
66
"metadata": {},
77
"source": [
8-
"# Example code for connecting a Sciospec EIT device"
8+
"# Example code for connecting a Sciospec device"
9+
]
10+
},
11+
{
12+
"cell_type": "markdown",
13+
"id": "8a5423a4-f8da-4cdb-8163-1d50d12e6e23",
14+
"metadata": {},
15+
"source": [
16+
"## EIT device\n",
17+
"\n",
18+
"**USB-HS**\n",
19+
"\n",
20+
"If you have issues with the connection try [this](https://eblot.github.io/pyftdi/installation.html)."
921
]
1022
},
1123
{
@@ -33,23 +45,6 @@
3345
"sciospec = EIT_16_32_64_128(n_el)"
3446
]
3547
},
36-
{
37-
"cell_type": "markdown",
38-
"id": "c6d1efce-1e7f-46a0-a092-e2fe38017fc6",
39-
"metadata": {},
40-
"source": [
41-
"___\n",
42-
"For some Sciospec devices two USB ports are available.\n",
43-
"It it preferred to use the USB-HS port, because it is faster than USB-FS.\n",
44-
"You cannot connect both USB ports with the same script.\n",
45-
"\n",
46-
"**USB-HS**\n",
47-
"\n",
48-
"Connect the EIT device to the USB-HS port.\n",
49-
"\n",
50-
"If you have issues with the connection try [this](https://eblot.github.io/pyftdi/installation.html)."
51-
]
52-
},
5348
{
5449
"cell_type": "code",
5550
"execution_count": null,
@@ -61,48 +56,6 @@
6156
"sciospec.connect_device_HS()"
6257
]
6358
},
64-
{
65-
"cell_type": "markdown",
66-
"id": "8dadceb4-5f5a-4fe7-8490-c16423bf9f24",
67-
"metadata": {},
68-
"source": [
69-
"**USB-FS**\n",
70-
"\n",
71-
"Connect the EIT device to the USB-FS port."
72-
]
73-
},
74-
{
75-
"cell_type": "code",
76-
"execution_count": null,
77-
"id": "d3f4ca6b-fff9-41e2-97c6-6d458702b7b1",
78-
"metadata": {},
79-
"outputs": [],
80-
"source": [
81-
"from sciopy import available_serial_ports\n",
82-
"\n",
83-
"# this function can be used to get the available ports (works only on windows, I guess)\n",
84-
"available_serial_ports()"
85-
]
86-
},
87-
{
88-
"cell_type": "code",
89-
"execution_count": null,
90-
"id": "924cbf79-ca2a-4d32-a1f1-6450746078c0",
91-
"metadata": {},
92-
"outputs": [],
93-
"source": [
94-
"# connect device via USB-FS port\n",
95-
"sciospec.connect_device_FS(port=\"COM1\") # Insert available serial port here."
96-
]
97-
},
98-
{
99-
"cell_type": "markdown",
100-
"id": "5fd0f70f-f0c8-429c-b0db-43d23b75f365",
101-
"metadata": {},
102-
"source": [
103-
"___"
104-
]
105-
},
10659
{
10760
"cell_type": "code",
10861
"execution_count": null,
@@ -216,10 +169,22 @@
216169
},
217170
{
218171
"cell_type": "markdown",
219-
"id": "b1005ea6-0f4e-44f9-a721-6e2f20edc11d",
172+
"id": "a526b930-1c20-4f6f-a500-602451eca9d7",
220173
"metadata": {},
221174
"source": [
222-
"___"
175+
"## EIS device\n",
176+
"\n",
177+
"**USB-HS**"
178+
]
179+
},
180+
{
181+
"cell_type": "code",
182+
"execution_count": null,
183+
"id": "c6c247dd-a41c-4ebd-9c65-867c1b995dcf",
184+
"metadata": {},
185+
"outputs": [],
186+
"source": [
187+
"# TBD"
223188
]
224189
}
225190
],

examples/ISX-3.ipynb

Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"id": "2727ee29",
6+
"metadata": {},
7+
"source": [
8+
"# Example code for connecting the Sciospec ISX-3 device"
9+
]
10+
},
11+
{
12+
"cell_type": "code",
13+
"execution_count": 1,
14+
"id": "18bd09f0",
15+
"metadata": {},
16+
"outputs": [],
17+
"source": [
18+
"import matplotlib.pyplot as plt\n",
19+
"import numpy as np\n",
20+
"\n",
21+
"from sciopy import ISX_3, EisMeasurementSetup"
22+
]
23+
},
24+
{
25+
"cell_type": "code",
26+
"execution_count": 2,
27+
"id": "88778348",
28+
"metadata": {},
29+
"outputs": [],
30+
"source": [
31+
"isx = ISX_3()"
32+
]
33+
},
34+
{
35+
"cell_type": "code",
36+
"execution_count": 3,
37+
"id": "c21b7642",
38+
"metadata": {},
39+
"outputs": [
40+
{
41+
"ename": "SerialException",
42+
"evalue": "[Errno 2] could not open port COM1: [Errno 2] No such file or directory: 'COM1'",
43+
"output_type": "error",
44+
"traceback": [
45+
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
46+
"\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)",
47+
"File \u001b[0;32m~/miniconda3/lib/python3.12/site-packages/serial/serialposix.py:322\u001b[0m, in \u001b[0;36mSerial.open\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 321\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 322\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfd \u001b[38;5;241m=\u001b[39m \u001b[43mos\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mopen\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mportstr\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mos\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mO_RDWR\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m|\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mos\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mO_NOCTTY\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m|\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mos\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mO_NONBLOCK\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 323\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mOSError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m msg:\n",
48+
"\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'COM1'",
49+
"\nDuring handling of the above exception, another exception occurred:\n",
50+
"\u001b[0;31mSerialException\u001b[0m Traceback (most recent call last)",
51+
"Cell \u001b[0;32mIn[3], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# connect to the device (adjust the port as necessary)\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[43misx\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconnect_device_USB2\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mCOM1\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n",
52+
"File \u001b[0;32m~/Schreibtisch/Uni/Forschung/PyPI_Packages/sciopy/sciopy/ISX_3.py:63\u001b[0m, in \u001b[0;36mISX_3.connect_device_USB2\u001b[0;34m(self, port, baudrate, timeout)\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 62\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mserial_protocol \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mUSB-FS\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m---> 63\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdevice \u001b[38;5;241m=\u001b[39m \u001b[43mserial\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mSerial\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 64\u001b[0m \u001b[43m \u001b[49m\u001b[43mport\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mport\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 65\u001b[0m \u001b[43m \u001b[49m\u001b[43mbaudrate\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mbaudrate\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 66\u001b[0m \u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtimeout\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 67\u001b[0m \u001b[43m \u001b[49m\u001b[43mparity\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mserial\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mPARITY_NONE\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 68\u001b[0m \u001b[43m \u001b[49m\u001b[43mstopbits\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mserial\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mSTOPBITS_ONE\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 69\u001b[0m \u001b[43m \u001b[49m\u001b[43mbytesize\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mserial\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mEIGHTBITS\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 70\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 71\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mConnection to\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdevice\u001b[38;5;241m.\u001b[39mname, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mis established.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
53+
"File \u001b[0;32m~/miniconda3/lib/python3.12/site-packages/serial/serialutil.py:244\u001b[0m, in \u001b[0;36mSerialBase.__init__\u001b[0;34m(self, port, baudrate, bytesize, parity, stopbits, timeout, xonxoff, rtscts, write_timeout, dsrdtr, inter_byte_timeout, exclusive, **kwargs)\u001b[0m\n\u001b[1;32m 241\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124munexpected keyword arguments: \u001b[39m\u001b[38;5;132;01m{!r}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;241m.\u001b[39mformat(kwargs))\n\u001b[1;32m 243\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m port \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m--> 244\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mopen\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
54+
"File \u001b[0;32m~/miniconda3/lib/python3.12/site-packages/serial/serialposix.py:325\u001b[0m, in \u001b[0;36mSerial.open\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 323\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mOSError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m msg:\n\u001b[1;32m 324\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfd \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m--> 325\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m SerialException(msg\u001b[38;5;241m.\u001b[39merrno, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcould not open port \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m: \u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;241m.\u001b[39mformat(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_port, msg))\n\u001b[1;32m 326\u001b[0m \u001b[38;5;66;03m#~ fcntl.fcntl(self.fd, fcntl.F_SETFL, 0) # set blocking\u001b[39;00m\n\u001b[1;32m 328\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpipe_abort_read_r, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpipe_abort_read_w \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m, \u001b[38;5;28;01mNone\u001b[39;00m\n",
55+
"\u001b[0;31mSerialException\u001b[0m: [Errno 2] could not open port COM1: [Errno 2] No such file or directory: 'COM1'"
56+
]
57+
}
58+
],
59+
"source": [
60+
"# connect to the device (adjust the port as necessary)\n",
61+
"isx.connect_device_USB2(\"COM1\")"
62+
]
63+
},
64+
{
65+
"cell_type": "code",
66+
"execution_count": null,
67+
"id": "fa54e5a6",
68+
"metadata": {},
69+
"outputs": [],
70+
"source": [
71+
"# reset the system (clear previous settings)\n",
72+
"isx.ResetSystem()"
73+
]
74+
},
75+
{
76+
"cell_type": "code",
77+
"execution_count": 4,
78+
"id": "28c54b12",
79+
"metadata": {},
80+
"outputs": [],
81+
"source": [
82+
"setup = EisMeasurementSetup(\n",
83+
" start=10,\n",
84+
" stop=100000,\n",
85+
" step=20,\n",
86+
" stepmode=\"log\",\n",
87+
" avg=1,\n",
88+
" amplitude=100,\n",
89+
" precision=1,\n",
90+
" measurement_time=1,\n",
91+
")"
92+
]
93+
},
94+
{
95+
"cell_type": "code",
96+
"execution_count": null,
97+
"id": "e8cf6f6b",
98+
"metadata": {},
99+
"outputs": [],
100+
"source": [
101+
"isx.SetMeasurementSetup(setup)"
102+
]
103+
},
104+
{
105+
"cell_type": "code",
106+
"execution_count": null,
107+
"id": "2a8c956e",
108+
"metadata": {},
109+
"outputs": [],
110+
"source": [
111+
"# disconnect device from serial port\n",
112+
"isx.disconnect_device_USB2()"
113+
]
114+
},
115+
{
116+
"cell_type": "code",
117+
"execution_count": null,
118+
"id": "1cf1c447",
119+
"metadata": {},
120+
"outputs": [],
121+
"source": []
122+
}
123+
],
124+
"metadata": {
125+
"kernelspec": {
126+
"display_name": "base",
127+
"language": "python",
128+
"name": "python3"
129+
},
130+
"language_info": {
131+
"codemirror_mode": {
132+
"name": "ipython",
133+
"version": 3
134+
},
135+
"file_extension": ".py",
136+
"mimetype": "text/x-python",
137+
"name": "python",
138+
"nbconvert_exporter": "python",
139+
"pygments_lexer": "ipython3",
140+
"version": "3.12.2"
141+
}
142+
},
143+
"nbformat": 4,
144+
"nbformat_minor": 5
145+
}

0 commit comments

Comments
 (0)