diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-05 06:14:58 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-05 06:14:58 +0000 |
| commit | 0d89eec373519ee005d27331b4665738c79043ab (patch) | |
| tree | 05d7921c43cce0eb924038e6138e9b9e69b821ff /python-pymata.spec | |
| parent | ef97a42ec13e5b5054fcba30efca6648cbcb583c (diff) | |
automatic import of python-pymataopeneuler20.03
Diffstat (limited to 'python-pymata.spec')
| -rw-r--r-- | python-pymata.spec | 274 |
1 files changed, 274 insertions, 0 deletions
diff --git a/python-pymata.spec b/python-pymata.spec new file mode 100644 index 0000000..49447ad --- /dev/null +++ b/python-pymata.spec @@ -0,0 +1,274 @@ +%global _empty_manifest_terminate_build 0 +Name: python-PyMata +Version: 2.20 +Release: 1 +Summary: A Python Protocol Abstraction Library For Arduino Firmata +License: GNU Affero General Public License v3 or later (AGPLv3+) +URL: https://github.com/MrYsLab/PyMata +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/de/02/174fceebefe3f74715f44e82a896b11f73ec782f0401eebd4baeb3c491cf/PyMata-2.20.tar.gz +BuildArch: noarch + +Requires: python3-pyserial + +%description +PyMata is a high performance, multi-threaded, non-blocking Python client for the Firmata Protocol that supports +the complete StandardFirmata protocol. +A new version for Python 3.5, pymata_aio, can be found [here](https://github.com/MrYsLab/pymata-aio). +The API can be viewed on the [wiki](https://github.com/MrYsLab/PyMata/wiki). +## Major features +* __Implements the entire Firmata 2.4.1 protocol.__ +* __Python 2.7+ and Python 3.4+__ compatibility through a shared code set. (If you are running Python 3.4 on Linux, please see note below). +* Easy to use and intuitive __API__. You can view the [PyMata API Documentation here](https://htmlpreview.github.io/?https://raw.githubusercontent.com/MrYsLab/PyMata/master/documentation/html/pymata.m.html) or view in the Documentation/html directory. +* Custom support for __stepper motors, Sonar Ping Devices (HC-SR04), Piezo devices and Rotary Encoders__. + * Requires the use of FirmataPlus for PyMata - installation instructions may be found [here](https://github.com/MrYsLab/PyMata/wiki/Installing-FirmataPlus). +* __Wiring diagrams__ are provided for all examples in the examples directory. +* Digial and Analog __Transient Signal Monitoring Via Data Latches:__ + * They provide "one-shot" notification when either a digital or analog pin meets a user defined threshold. + * Analog latches compare each data change to a user specified value. + * Comparison operators are <, >, <= and >= + * Digital latches compare a data change to either a high or low, specified by the user. + * Latches can easily be re-armed to detect the next transient data change. + * Latches can be either manually read or a callback can be associated with a latch for immediate notification. +* Optional __callbacks__ provide asynchronous notification of data updates. +## Callbacks +Check out the example code on the [wiki](https://github.com/MrYsLab/PyMata/wiki). + * Digital input pins. + * Analog input pins. + * Encoder changes. + * I2C read data changes. + * SONAR (HC-SR04) distance changes. + * Analog latch condition achieved. + * Digital latch condition achieved. + * Callbacks return data reports in a single list format. + * Polling methods and callbacks are available simultaneously and can be used in a mixed polled/callback environment. + * Callbacks return data in a single list. +### The callback data return values +| Callback Type | List Element 0 | List Element 1 | List Element 2 | List Element 3 | +| ------------- | -------------- | -------------- | -------------- | -------------- | +| Analog| ANALOG MODE|Pin Number|Data Value|Not Applicable +| Digital|DIGITAL MODE|Pin Number|Data Value|Not Applicable +|I2C|I2C MODE|I2C Device Address|Data Value|Not Applicable +|Sonar|Trigger Pin|Distance in Centimeters|Not Applicable|Not Applicatble +| Encoder|Encoder MODE|Pin Number|Data Value|Not Applicable +| Latched Analog| LATCHED ANALOG MODE|Pin Number|Data Value|Time Stamp +| Latched Digital|LATCHED DIGITAL MODE|Pin Number|Data Value|Time Stamp +## Control-C Signal Handler +Below is a sample Control-C signal handler that can be added to a PyMata Application. +It suppresses exceptions being reported as a result of the user entering a Control-C to abort the application. +```python +import sys +import signal +# followed by another imports your application requires +# create a PyMata instance +# set the COM port string specifically for your platform +board = PyMata("/dev/ttyACM0") +# signal handler function called when Control-C occurs +def signal_handler(signal, frame): + print('You pressed Ctrl+C!!!!') + if board != None: + board.reset() + sys.exit(0) +# listen for SIGINT +signal.signal(signal.SIGINT, signal_handler) +# Your Application Continues Below This Point +``` +## Misc +- Want to extend PyMata? See [Our Instructables Article](http://www.instructables.com/id/Going-Beyond-StandardFirmata-Adding-New-Device-Sup/) explaining how stepper motor support was added. Use it as a guide to customize PyMata for your own needs. +- [Check Out Mr. Y's Blog Here](http://mryslab.blogspot.com/) for all the latest news! +# Special Note For Linux Users Wishing to Use Python 3.5 +# [pymata_aio is now available and for Python 3.5.](https://github.com/MrYsLab/pymata-aio) +# [Check out the pymata_aio wiki!](https://github.com/MrYsLab/pymata-aio/wiki) +This project was developed with [Pycharm](https://www.jetbrains.com/pycharm/)  + +%package -n python3-PyMata +Summary: A Python Protocol Abstraction Library For Arduino Firmata +Provides: python-PyMata +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-PyMata +PyMata is a high performance, multi-threaded, non-blocking Python client for the Firmata Protocol that supports +the complete StandardFirmata protocol. +A new version for Python 3.5, pymata_aio, can be found [here](https://github.com/MrYsLab/pymata-aio). +The API can be viewed on the [wiki](https://github.com/MrYsLab/PyMata/wiki). +## Major features +* __Implements the entire Firmata 2.4.1 protocol.__ +* __Python 2.7+ and Python 3.4+__ compatibility through a shared code set. (If you are running Python 3.4 on Linux, please see note below). +* Easy to use and intuitive __API__. You can view the [PyMata API Documentation here](https://htmlpreview.github.io/?https://raw.githubusercontent.com/MrYsLab/PyMata/master/documentation/html/pymata.m.html) or view in the Documentation/html directory. +* Custom support for __stepper motors, Sonar Ping Devices (HC-SR04), Piezo devices and Rotary Encoders__. + * Requires the use of FirmataPlus for PyMata - installation instructions may be found [here](https://github.com/MrYsLab/PyMata/wiki/Installing-FirmataPlus). +* __Wiring diagrams__ are provided for all examples in the examples directory. +* Digial and Analog __Transient Signal Monitoring Via Data Latches:__ + * They provide "one-shot" notification when either a digital or analog pin meets a user defined threshold. + * Analog latches compare each data change to a user specified value. + * Comparison operators are <, >, <= and >= + * Digital latches compare a data change to either a high or low, specified by the user. + * Latches can easily be re-armed to detect the next transient data change. + * Latches can be either manually read or a callback can be associated with a latch for immediate notification. +* Optional __callbacks__ provide asynchronous notification of data updates. +## Callbacks +Check out the example code on the [wiki](https://github.com/MrYsLab/PyMata/wiki). + * Digital input pins. + * Analog input pins. + * Encoder changes. + * I2C read data changes. + * SONAR (HC-SR04) distance changes. + * Analog latch condition achieved. + * Digital latch condition achieved. + * Callbacks return data reports in a single list format. + * Polling methods and callbacks are available simultaneously and can be used in a mixed polled/callback environment. + * Callbacks return data in a single list. +### The callback data return values +| Callback Type | List Element 0 | List Element 1 | List Element 2 | List Element 3 | +| ------------- | -------------- | -------------- | -------------- | -------------- | +| Analog| ANALOG MODE|Pin Number|Data Value|Not Applicable +| Digital|DIGITAL MODE|Pin Number|Data Value|Not Applicable +|I2C|I2C MODE|I2C Device Address|Data Value|Not Applicable +|Sonar|Trigger Pin|Distance in Centimeters|Not Applicable|Not Applicatble +| Encoder|Encoder MODE|Pin Number|Data Value|Not Applicable +| Latched Analog| LATCHED ANALOG MODE|Pin Number|Data Value|Time Stamp +| Latched Digital|LATCHED DIGITAL MODE|Pin Number|Data Value|Time Stamp +## Control-C Signal Handler +Below is a sample Control-C signal handler that can be added to a PyMata Application. +It suppresses exceptions being reported as a result of the user entering a Control-C to abort the application. +```python +import sys +import signal +# followed by another imports your application requires +# create a PyMata instance +# set the COM port string specifically for your platform +board = PyMata("/dev/ttyACM0") +# signal handler function called when Control-C occurs +def signal_handler(signal, frame): + print('You pressed Ctrl+C!!!!') + if board != None: + board.reset() + sys.exit(0) +# listen for SIGINT +signal.signal(signal.SIGINT, signal_handler) +# Your Application Continues Below This Point +``` +## Misc +- Want to extend PyMata? See [Our Instructables Article](http://www.instructables.com/id/Going-Beyond-StandardFirmata-Adding-New-Device-Sup/) explaining how stepper motor support was added. Use it as a guide to customize PyMata for your own needs. +- [Check Out Mr. Y's Blog Here](http://mryslab.blogspot.com/) for all the latest news! +# Special Note For Linux Users Wishing to Use Python 3.5 +# [pymata_aio is now available and for Python 3.5.](https://github.com/MrYsLab/pymata-aio) +# [Check out the pymata_aio wiki!](https://github.com/MrYsLab/pymata-aio/wiki) +This project was developed with [Pycharm](https://www.jetbrains.com/pycharm/)  + +%package help +Summary: Development documents and examples for PyMata +Provides: python3-PyMata-doc +%description help +PyMata is a high performance, multi-threaded, non-blocking Python client for the Firmata Protocol that supports +the complete StandardFirmata protocol. +A new version for Python 3.5, pymata_aio, can be found [here](https://github.com/MrYsLab/pymata-aio). +The API can be viewed on the [wiki](https://github.com/MrYsLab/PyMata/wiki). +## Major features +* __Implements the entire Firmata 2.4.1 protocol.__ +* __Python 2.7+ and Python 3.4+__ compatibility through a shared code set. (If you are running Python 3.4 on Linux, please see note below). +* Easy to use and intuitive __API__. You can view the [PyMata API Documentation here](https://htmlpreview.github.io/?https://raw.githubusercontent.com/MrYsLab/PyMata/master/documentation/html/pymata.m.html) or view in the Documentation/html directory. +* Custom support for __stepper motors, Sonar Ping Devices (HC-SR04), Piezo devices and Rotary Encoders__. + * Requires the use of FirmataPlus for PyMata - installation instructions may be found [here](https://github.com/MrYsLab/PyMata/wiki/Installing-FirmataPlus). +* __Wiring diagrams__ are provided for all examples in the examples directory. +* Digial and Analog __Transient Signal Monitoring Via Data Latches:__ + * They provide "one-shot" notification when either a digital or analog pin meets a user defined threshold. + * Analog latches compare each data change to a user specified value. + * Comparison operators are <, >, <= and >= + * Digital latches compare a data change to either a high or low, specified by the user. + * Latches can easily be re-armed to detect the next transient data change. + * Latches can be either manually read or a callback can be associated with a latch for immediate notification. +* Optional __callbacks__ provide asynchronous notification of data updates. +## Callbacks +Check out the example code on the [wiki](https://github.com/MrYsLab/PyMata/wiki). + * Digital input pins. + * Analog input pins. + * Encoder changes. + * I2C read data changes. + * SONAR (HC-SR04) distance changes. + * Analog latch condition achieved. + * Digital latch condition achieved. + * Callbacks return data reports in a single list format. + * Polling methods and callbacks are available simultaneously and can be used in a mixed polled/callback environment. + * Callbacks return data in a single list. +### The callback data return values +| Callback Type | List Element 0 | List Element 1 | List Element 2 | List Element 3 | +| ------------- | -------------- | -------------- | -------------- | -------------- | +| Analog| ANALOG MODE|Pin Number|Data Value|Not Applicable +| Digital|DIGITAL MODE|Pin Number|Data Value|Not Applicable +|I2C|I2C MODE|I2C Device Address|Data Value|Not Applicable +|Sonar|Trigger Pin|Distance in Centimeters|Not Applicable|Not Applicatble +| Encoder|Encoder MODE|Pin Number|Data Value|Not Applicable +| Latched Analog| LATCHED ANALOG MODE|Pin Number|Data Value|Time Stamp +| Latched Digital|LATCHED DIGITAL MODE|Pin Number|Data Value|Time Stamp +## Control-C Signal Handler +Below is a sample Control-C signal handler that can be added to a PyMata Application. +It suppresses exceptions being reported as a result of the user entering a Control-C to abort the application. +```python +import sys +import signal +# followed by another imports your application requires +# create a PyMata instance +# set the COM port string specifically for your platform +board = PyMata("/dev/ttyACM0") +# signal handler function called when Control-C occurs +def signal_handler(signal, frame): + print('You pressed Ctrl+C!!!!') + if board != None: + board.reset() + sys.exit(0) +# listen for SIGINT +signal.signal(signal.SIGINT, signal_handler) +# Your Application Continues Below This Point +``` +## Misc +- Want to extend PyMata? See [Our Instructables Article](http://www.instructables.com/id/Going-Beyond-StandardFirmata-Adding-New-Device-Sup/) explaining how stepper motor support was added. Use it as a guide to customize PyMata for your own needs. +- [Check Out Mr. Y's Blog Here](http://mryslab.blogspot.com/) for all the latest news! +# Special Note For Linux Users Wishing to Use Python 3.5 +# [pymata_aio is now available and for Python 3.5.](https://github.com/MrYsLab/pymata-aio) +# [Check out the pymata_aio wiki!](https://github.com/MrYsLab/pymata-aio/wiki) +This project was developed with [Pycharm](https://www.jetbrains.com/pycharm/)  + +%prep +%autosetup -n PyMata-2.20 + +%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-PyMata -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 2.20-1 +- Package Spec generated |
