1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
|
%global _empty_manifest_terminate_build 0
Name: python-pydwf
Version: 1.1.11
Release: 1
Summary: A package to control Digilent Waveforms devices
License: MIT License
URL: https://pypi.org/project/pydwf/
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/1b/a1/649cc9568bea81534c165d957e9bfabad9078556b2abfc58074000d0d2b7/pydwf-1.1.11.tar.gz
BuildArch: noarch
Requires: python3-numpy
%description
# pydwf
This is the README of *pydwf*, a Python package to control the Digilent Waveforms lineup of electronic test and measurement devices made by [Digilent](https://store.digilentinc.com/).
It wraps all functions of *libdwf*, the [low-level C library](https://pydwf.readthedocs.io/en/latest/background/C_Library.html) provided by Digilent, in an easy-to-use, class-based Python API. Like the C library, the *pydwf* package supports Windows, Linux (Intel and ARM), and macOS.
The current release of *pydwf* is version 1.1.11.
It is based on version 3.19.5 of *libdwf*, but it should also work with other versions.
The *pydwf* package comes with documentation and a number of ready-to-run [examples](https://pydwf.readthedocs.io/en/latest/background/Examples.html) that demonstrate how *pydwf* can be used to perform common and not-so-common tasks.
A [command-line tool](https://pydwf.readthedocs.io/en/latest/background/CommandLineTool.html) is provided that can be used, among other things, to list the available Digilent Waveforms devices and their configurations.
This README file contains information about the project. Readers who want to learn how to use *pydwf* are referred to the [API documentation](https://pydwf.readthedocs.io/en/latest/pydwf_api/pydwf_overview.html).
## Supported devices
The following devices can be controlled using *pydwf*:
* [Electronics Explorer](https://digilent.com/reference/test-and-measurement/electronics-explorer/start) (legacy)
* [Analog Discovery](https://digilent.com/reference/test-and-measurement/analog-discovery/start) (legacy)
* [Analog Discovery 2](https://digilent.com/reference/test-and-measurement/analog-discovery-2/start)
* [Digital Discovery](https://digilent.com/reference/test-and-measurement/digital-discovery/start)
* [Analog Discovery Studio](https://digilent.com/reference/test-and-measurement/analog-discovery-studio/start)
* [Analog Discovery Pro](https://digilent.com/reference/test-and-measurement/analog-discovery-pro-3x50/start) (3250, 3450)
The *pydwf* package has been extensively tested with the Analog Discovery 2 and Digital Discovery devices, and it has been verified to work with Analog Discovery Pro devices. It should also work with the other devices listed, but these haven't been tested. If you have such a device and encounter problems, please report an issue on the [GitHub issue tracker](https://github.com/sidneycadot/pydwf/issues).
## Dependencies
The *pydwf* package requires Python 3.6 or higher.
In order for *pydwf* to work, recent versions of the Digilent Adept and Digilent Waveforms packages must be installed. These provide the C libraries that *pydwf* uses to interact with devices. Generally speaking, if the Waveforms GUI application provided by Digilent works on your system, you're good to go.
*pydwf* depends on the [numpy](https://numpy.org/) package to handle the considerable amount of data transferred between the PC and Digilent devices when performing high-speed signal generation or capture operations.
Some of the [examples](https://pydwf.readthedocs.io/en/latest/background/Examples.html) depend on the [matplotlib](https://matplotlib.org/) package, but *pydwf* itself will work without it.
## Project hosting
The project repository and issue tracker are hosted on [GitHub](https://github.com/):
https://github.com/sidneycadot/pydwf/
## Installation using *pip*
The installable package is hosted on [PyPI](https://pypi.org/):
https://pypi.org/project/pydwf/
This allows installation using the standard *pip* (or *pip3*) tool:
```
pip install pydwf
```
After installing *pydwf*, the following command will show the version of *pydwf* and the underlying DWF library:
```
python -m pydwf version
```
After installing *pydwf*. the following command will list all Digilent Waveforms devices connected to the system and, for each of them, list the supported configurations:
```
python -m pydwf list -c
```
## Documentation
The project documentation is hosted on [Read the Docs](https://readthedocs.org/). The latest version can be reached via the following link:
https://pydwf.readthedocs.io/en/latest/
If desired, the documentation can also be installed locally after installing the package by executing the following command:
```
python -m pydwf extract-html-docs
```
This will create a local directory called *pydwf-docs-html* containing the project documentation in HTML format.
Alternatively, a PDF version of the manual can be extracted as well:
```
python -m pydwf extract-pdf-manual
```
## Examples
The Python [examples](https://pydwf.readthedocs.io/en/latest/background/Examples.html) can be installed locally after installing the *pydwf* package by executing the following command:
```
python -m pydwf extract-examples
```
This will create a local directory called *pydwf-examples* containing the Python examples that demonstrate many of the capabilities of the Digilent Waveforms devices and *pydwf*.
These examples are intended as a useful starting point for your own Python scripts. See the [Examples overview](https://pydwf.readthedocs.io/en/latest/background/Examples.html) for more information.
## Acknowledgements
Many thanks to Digilent for making the awesome Waveforms devices, and to provide not only the very capable *Waveforms* GUI software, but also the cross-platform SDK on which *pydwf* is based. Great work!
My company [Jigsaw B.V.](https://www.jigsaw.nl/) supported the effort to make *pydwf*. If you need any kind of high-tech software (with or without Digilent Waveforms devices), and you’re somewhat in the vicinity of Delft, The Netherlands, [give us a call](https://jigsaw.nl/#Contact).
Thanks to my longtime friend Pepijn for proof-reading the documentation and providing his perspective on several issues that came up while implementing *pydwf*. The package is a lot better because of your help.
Lastly, thanks to Petra for your patience with having all kinds of electronics equipment in the living room while developing this package (and before, and after, …). You may not share my enthusiasm for this particular hobby, but I am very fortunate that you are at least enthusiastic about my enthusiasm, if that makes sense.
*— SC*
%package -n python3-pydwf
Summary: A package to control Digilent Waveforms devices
Provides: python-pydwf
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-pydwf
# pydwf
This is the README of *pydwf*, a Python package to control the Digilent Waveforms lineup of electronic test and measurement devices made by [Digilent](https://store.digilentinc.com/).
It wraps all functions of *libdwf*, the [low-level C library](https://pydwf.readthedocs.io/en/latest/background/C_Library.html) provided by Digilent, in an easy-to-use, class-based Python API. Like the C library, the *pydwf* package supports Windows, Linux (Intel and ARM), and macOS.
The current release of *pydwf* is version 1.1.11.
It is based on version 3.19.5 of *libdwf*, but it should also work with other versions.
The *pydwf* package comes with documentation and a number of ready-to-run [examples](https://pydwf.readthedocs.io/en/latest/background/Examples.html) that demonstrate how *pydwf* can be used to perform common and not-so-common tasks.
A [command-line tool](https://pydwf.readthedocs.io/en/latest/background/CommandLineTool.html) is provided that can be used, among other things, to list the available Digilent Waveforms devices and their configurations.
This README file contains information about the project. Readers who want to learn how to use *pydwf* are referred to the [API documentation](https://pydwf.readthedocs.io/en/latest/pydwf_api/pydwf_overview.html).
## Supported devices
The following devices can be controlled using *pydwf*:
* [Electronics Explorer](https://digilent.com/reference/test-and-measurement/electronics-explorer/start) (legacy)
* [Analog Discovery](https://digilent.com/reference/test-and-measurement/analog-discovery/start) (legacy)
* [Analog Discovery 2](https://digilent.com/reference/test-and-measurement/analog-discovery-2/start)
* [Digital Discovery](https://digilent.com/reference/test-and-measurement/digital-discovery/start)
* [Analog Discovery Studio](https://digilent.com/reference/test-and-measurement/analog-discovery-studio/start)
* [Analog Discovery Pro](https://digilent.com/reference/test-and-measurement/analog-discovery-pro-3x50/start) (3250, 3450)
The *pydwf* package has been extensively tested with the Analog Discovery 2 and Digital Discovery devices, and it has been verified to work with Analog Discovery Pro devices. It should also work with the other devices listed, but these haven't been tested. If you have such a device and encounter problems, please report an issue on the [GitHub issue tracker](https://github.com/sidneycadot/pydwf/issues).
## Dependencies
The *pydwf* package requires Python 3.6 or higher.
In order for *pydwf* to work, recent versions of the Digilent Adept and Digilent Waveforms packages must be installed. These provide the C libraries that *pydwf* uses to interact with devices. Generally speaking, if the Waveforms GUI application provided by Digilent works on your system, you're good to go.
*pydwf* depends on the [numpy](https://numpy.org/) package to handle the considerable amount of data transferred between the PC and Digilent devices when performing high-speed signal generation or capture operations.
Some of the [examples](https://pydwf.readthedocs.io/en/latest/background/Examples.html) depend on the [matplotlib](https://matplotlib.org/) package, but *pydwf* itself will work without it.
## Project hosting
The project repository and issue tracker are hosted on [GitHub](https://github.com/):
https://github.com/sidneycadot/pydwf/
## Installation using *pip*
The installable package is hosted on [PyPI](https://pypi.org/):
https://pypi.org/project/pydwf/
This allows installation using the standard *pip* (or *pip3*) tool:
```
pip install pydwf
```
After installing *pydwf*, the following command will show the version of *pydwf* and the underlying DWF library:
```
python -m pydwf version
```
After installing *pydwf*. the following command will list all Digilent Waveforms devices connected to the system and, for each of them, list the supported configurations:
```
python -m pydwf list -c
```
## Documentation
The project documentation is hosted on [Read the Docs](https://readthedocs.org/). The latest version can be reached via the following link:
https://pydwf.readthedocs.io/en/latest/
If desired, the documentation can also be installed locally after installing the package by executing the following command:
```
python -m pydwf extract-html-docs
```
This will create a local directory called *pydwf-docs-html* containing the project documentation in HTML format.
Alternatively, a PDF version of the manual can be extracted as well:
```
python -m pydwf extract-pdf-manual
```
## Examples
The Python [examples](https://pydwf.readthedocs.io/en/latest/background/Examples.html) can be installed locally after installing the *pydwf* package by executing the following command:
```
python -m pydwf extract-examples
```
This will create a local directory called *pydwf-examples* containing the Python examples that demonstrate many of the capabilities of the Digilent Waveforms devices and *pydwf*.
These examples are intended as a useful starting point for your own Python scripts. See the [Examples overview](https://pydwf.readthedocs.io/en/latest/background/Examples.html) for more information.
## Acknowledgements
Many thanks to Digilent for making the awesome Waveforms devices, and to provide not only the very capable *Waveforms* GUI software, but also the cross-platform SDK on which *pydwf* is based. Great work!
My company [Jigsaw B.V.](https://www.jigsaw.nl/) supported the effort to make *pydwf*. If you need any kind of high-tech software (with or without Digilent Waveforms devices), and you’re somewhat in the vicinity of Delft, The Netherlands, [give us a call](https://jigsaw.nl/#Contact).
Thanks to my longtime friend Pepijn for proof-reading the documentation and providing his perspective on several issues that came up while implementing *pydwf*. The package is a lot better because of your help.
Lastly, thanks to Petra for your patience with having all kinds of electronics equipment in the living room while developing this package (and before, and after, …). You may not share my enthusiasm for this particular hobby, but I am very fortunate that you are at least enthusiastic about my enthusiasm, if that makes sense.
*— SC*
%package help
Summary: Development documents and examples for pydwf
Provides: python3-pydwf-doc
%description help
# pydwf
This is the README of *pydwf*, a Python package to control the Digilent Waveforms lineup of electronic test and measurement devices made by [Digilent](https://store.digilentinc.com/).
It wraps all functions of *libdwf*, the [low-level C library](https://pydwf.readthedocs.io/en/latest/background/C_Library.html) provided by Digilent, in an easy-to-use, class-based Python API. Like the C library, the *pydwf* package supports Windows, Linux (Intel and ARM), and macOS.
The current release of *pydwf* is version 1.1.11.
It is based on version 3.19.5 of *libdwf*, but it should also work with other versions.
The *pydwf* package comes with documentation and a number of ready-to-run [examples](https://pydwf.readthedocs.io/en/latest/background/Examples.html) that demonstrate how *pydwf* can be used to perform common and not-so-common tasks.
A [command-line tool](https://pydwf.readthedocs.io/en/latest/background/CommandLineTool.html) is provided that can be used, among other things, to list the available Digilent Waveforms devices and their configurations.
This README file contains information about the project. Readers who want to learn how to use *pydwf* are referred to the [API documentation](https://pydwf.readthedocs.io/en/latest/pydwf_api/pydwf_overview.html).
## Supported devices
The following devices can be controlled using *pydwf*:
* [Electronics Explorer](https://digilent.com/reference/test-and-measurement/electronics-explorer/start) (legacy)
* [Analog Discovery](https://digilent.com/reference/test-and-measurement/analog-discovery/start) (legacy)
* [Analog Discovery 2](https://digilent.com/reference/test-and-measurement/analog-discovery-2/start)
* [Digital Discovery](https://digilent.com/reference/test-and-measurement/digital-discovery/start)
* [Analog Discovery Studio](https://digilent.com/reference/test-and-measurement/analog-discovery-studio/start)
* [Analog Discovery Pro](https://digilent.com/reference/test-and-measurement/analog-discovery-pro-3x50/start) (3250, 3450)
The *pydwf* package has been extensively tested with the Analog Discovery 2 and Digital Discovery devices, and it has been verified to work with Analog Discovery Pro devices. It should also work with the other devices listed, but these haven't been tested. If you have such a device and encounter problems, please report an issue on the [GitHub issue tracker](https://github.com/sidneycadot/pydwf/issues).
## Dependencies
The *pydwf* package requires Python 3.6 or higher.
In order for *pydwf* to work, recent versions of the Digilent Adept and Digilent Waveforms packages must be installed. These provide the C libraries that *pydwf* uses to interact with devices. Generally speaking, if the Waveforms GUI application provided by Digilent works on your system, you're good to go.
*pydwf* depends on the [numpy](https://numpy.org/) package to handle the considerable amount of data transferred between the PC and Digilent devices when performing high-speed signal generation or capture operations.
Some of the [examples](https://pydwf.readthedocs.io/en/latest/background/Examples.html) depend on the [matplotlib](https://matplotlib.org/) package, but *pydwf* itself will work without it.
## Project hosting
The project repository and issue tracker are hosted on [GitHub](https://github.com/):
https://github.com/sidneycadot/pydwf/
## Installation using *pip*
The installable package is hosted on [PyPI](https://pypi.org/):
https://pypi.org/project/pydwf/
This allows installation using the standard *pip* (or *pip3*) tool:
```
pip install pydwf
```
After installing *pydwf*, the following command will show the version of *pydwf* and the underlying DWF library:
```
python -m pydwf version
```
After installing *pydwf*. the following command will list all Digilent Waveforms devices connected to the system and, for each of them, list the supported configurations:
```
python -m pydwf list -c
```
## Documentation
The project documentation is hosted on [Read the Docs](https://readthedocs.org/). The latest version can be reached via the following link:
https://pydwf.readthedocs.io/en/latest/
If desired, the documentation can also be installed locally after installing the package by executing the following command:
```
python -m pydwf extract-html-docs
```
This will create a local directory called *pydwf-docs-html* containing the project documentation in HTML format.
Alternatively, a PDF version of the manual can be extracted as well:
```
python -m pydwf extract-pdf-manual
```
## Examples
The Python [examples](https://pydwf.readthedocs.io/en/latest/background/Examples.html) can be installed locally after installing the *pydwf* package by executing the following command:
```
python -m pydwf extract-examples
```
This will create a local directory called *pydwf-examples* containing the Python examples that demonstrate many of the capabilities of the Digilent Waveforms devices and *pydwf*.
These examples are intended as a useful starting point for your own Python scripts. See the [Examples overview](https://pydwf.readthedocs.io/en/latest/background/Examples.html) for more information.
## Acknowledgements
Many thanks to Digilent for making the awesome Waveforms devices, and to provide not only the very capable *Waveforms* GUI software, but also the cross-platform SDK on which *pydwf* is based. Great work!
My company [Jigsaw B.V.](https://www.jigsaw.nl/) supported the effort to make *pydwf*. If you need any kind of high-tech software (with or without Digilent Waveforms devices), and you’re somewhat in the vicinity of Delft, The Netherlands, [give us a call](https://jigsaw.nl/#Contact).
Thanks to my longtime friend Pepijn for proof-reading the documentation and providing his perspective on several issues that came up while implementing *pydwf*. The package is a lot better because of your help.
Lastly, thanks to Petra for your patience with having all kinds of electronics equipment in the living room while developing this package (and before, and after, …). You may not share my enthusiasm for this particular hobby, but I am very fortunate that you are at least enthusiastic about my enthusiasm, if that makes sense.
*— SC*
%prep
%autosetup -n pydwf-1.1.11
%build
%py3_build
%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-pydwf -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.11-1
- Package Spec generated
|