summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-31 05:48:55 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-31 05:48:55 +0000
commit846a50aa7a4e385e71e6f147767c5f0bb1e67f99 (patch)
treef9ff516e2a8f8eb693f1d77ed60fc98272bd9bdf
parent3605c34828011fb36a2f710d1d3ff7e3161ddebe (diff)
automatic import of python-itkpix-efuse-codec
-rw-r--r--.gitignore1
-rw-r--r--python-itkpix-efuse-codec.spec328
-rw-r--r--sources1
3 files changed, 330 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..402faa1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/itkpix_efuse_codec-0.3.2.tar.gz
diff --git a/python-itkpix-efuse-codec.spec b/python-itkpix-efuse-codec.spec
new file mode 100644
index 0000000..09d9e60
--- /dev/null
+++ b/python-itkpix-efuse-codec.spec
@@ -0,0 +1,328 @@
+%global _empty_manifest_terminate_build 0
+Name: python-itkpix-efuse-codec
+Version: 0.3.2
+Release: 1
+Summary: Utilities for encoding and decoding the data stored in the ITkPix ASIC e-fuses
+License: MIT
+URL: https://gitlab.cern.ch/berkeleylab/itkpix-efuse-codec
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ce/35/70ee45b24bbe0116905d2d8515168fe48a784710da0254476a16e98d2937/itkpix_efuse_codec-0.3.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-click
+
+%description
+# ITkPix E-fuse Codec
+
+Utilities for encoding and decoding the data stored in the ITkPix ASIC e-fuses
+
+# Installation
+
+## Cpp
+
+The `itkpix-efuse-codec` C++ library is header-only.
+Simply add the [single_include/itkpix_efuse_codec/](single_include/itkpix_efuse_codec/)
+directory to your project's include path and you should be able to
+`#include "itkpix_efuse_codec.h`.
+
+## Python
+
+`itkpix-efuse-codec` is available on [PyPi](https://pypi.org/project/itkpix-efuse-codec/).
+Simply run the following command to install:
+
+```shell
+pip install itkpix-efuse-codec
+```
+
+# Usage
+
+## Python
+
+### Command-line Utility
+
+`pip` installing `itkpix-efuse-codec` givers you the `efuse` command-line utility, which has the `encode` and `decode` sub-commands.
+
+#### encode
+
+```verbatim
+efuse -v encode BONN 0x146cb
+Input:
+ probe_location name : BONN
+ chip serial number : 83659 (bin: 0b10100011011001011, hex: 0x146cb)
+Encoded:
+ encoded e-fuse (bin) : 00010001010001101100101100011111 (32 bits)
+ (hex) : 0x1146cb1f
+```
+
+#### decode
+
+```
+efuse -v decode 0x1146cb1f
+Input:
+ e-fuse data (bin): 0b100010100011011001011
+ (hex): 0x1146cb
+Decoded:
+ chip serial number : 0x146cb
+ probe location : BONN (id: 0x1)
+```
+
+### As a module
+
+You can import the `itkpix_efuse_codec` module in your existing Python scripts. For example,
+to generate the 32-bit encoded E-fuse data you would do:
+
+```python
+import itkpix_efuse_codec
+
+probe_location_name : str = "BONN" # must be a valid name
+chip_sn : int = 0x12345;
+efuse_binary_string = itkpix_efuse_codec.encode(probe_location_name, chip_sn) # returns binary string
+
+efuse_data = int(efuse_binary_string, 2) # parse the binary string into an integer
+```
+
+To decode 32-bit E-fuse data retreived from the ITkPix ASIC, you would do:
+
+```python
+import itkpix_efuse_codec
+from itkpix_efuse_codec import EfuseData
+
+retrieved_efuse_data : int = ...
+decoded_efuse_data = int(itkpix_efuse_codec.decode(retrieved_efuse_data), 2) # parse the binary string into an integer
+efuse_data = EfuseData(decoded_efuse_data) # EfuseData class has useful getters
+
+chip_sn = efuse_data.chip_sn()
+probe_location_name = efuse_data.probe_location_name()
+probe_location_id = efuse_data.probe_location_id()
+```
+
+
+
+
+%package -n python3-itkpix-efuse-codec
+Summary: Utilities for encoding and decoding the data stored in the ITkPix ASIC e-fuses
+Provides: python-itkpix-efuse-codec
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-itkpix-efuse-codec
+# ITkPix E-fuse Codec
+
+Utilities for encoding and decoding the data stored in the ITkPix ASIC e-fuses
+
+# Installation
+
+## Cpp
+
+The `itkpix-efuse-codec` C++ library is header-only.
+Simply add the [single_include/itkpix_efuse_codec/](single_include/itkpix_efuse_codec/)
+directory to your project's include path and you should be able to
+`#include "itkpix_efuse_codec.h`.
+
+## Python
+
+`itkpix-efuse-codec` is available on [PyPi](https://pypi.org/project/itkpix-efuse-codec/).
+Simply run the following command to install:
+
+```shell
+pip install itkpix-efuse-codec
+```
+
+# Usage
+
+## Python
+
+### Command-line Utility
+
+`pip` installing `itkpix-efuse-codec` givers you the `efuse` command-line utility, which has the `encode` and `decode` sub-commands.
+
+#### encode
+
+```verbatim
+efuse -v encode BONN 0x146cb
+Input:
+ probe_location name : BONN
+ chip serial number : 83659 (bin: 0b10100011011001011, hex: 0x146cb)
+Encoded:
+ encoded e-fuse (bin) : 00010001010001101100101100011111 (32 bits)
+ (hex) : 0x1146cb1f
+```
+
+#### decode
+
+```
+efuse -v decode 0x1146cb1f
+Input:
+ e-fuse data (bin): 0b100010100011011001011
+ (hex): 0x1146cb
+Decoded:
+ chip serial number : 0x146cb
+ probe location : BONN (id: 0x1)
+```
+
+### As a module
+
+You can import the `itkpix_efuse_codec` module in your existing Python scripts. For example,
+to generate the 32-bit encoded E-fuse data you would do:
+
+```python
+import itkpix_efuse_codec
+
+probe_location_name : str = "BONN" # must be a valid name
+chip_sn : int = 0x12345;
+efuse_binary_string = itkpix_efuse_codec.encode(probe_location_name, chip_sn) # returns binary string
+
+efuse_data = int(efuse_binary_string, 2) # parse the binary string into an integer
+```
+
+To decode 32-bit E-fuse data retreived from the ITkPix ASIC, you would do:
+
+```python
+import itkpix_efuse_codec
+from itkpix_efuse_codec import EfuseData
+
+retrieved_efuse_data : int = ...
+decoded_efuse_data = int(itkpix_efuse_codec.decode(retrieved_efuse_data), 2) # parse the binary string into an integer
+efuse_data = EfuseData(decoded_efuse_data) # EfuseData class has useful getters
+
+chip_sn = efuse_data.chip_sn()
+probe_location_name = efuse_data.probe_location_name()
+probe_location_id = efuse_data.probe_location_id()
+```
+
+
+
+
+%package help
+Summary: Development documents and examples for itkpix-efuse-codec
+Provides: python3-itkpix-efuse-codec-doc
+%description help
+# ITkPix E-fuse Codec
+
+Utilities for encoding and decoding the data stored in the ITkPix ASIC e-fuses
+
+# Installation
+
+## Cpp
+
+The `itkpix-efuse-codec` C++ library is header-only.
+Simply add the [single_include/itkpix_efuse_codec/](single_include/itkpix_efuse_codec/)
+directory to your project's include path and you should be able to
+`#include "itkpix_efuse_codec.h`.
+
+## Python
+
+`itkpix-efuse-codec` is available on [PyPi](https://pypi.org/project/itkpix-efuse-codec/).
+Simply run the following command to install:
+
+```shell
+pip install itkpix-efuse-codec
+```
+
+# Usage
+
+## Python
+
+### Command-line Utility
+
+`pip` installing `itkpix-efuse-codec` givers you the `efuse` command-line utility, which has the `encode` and `decode` sub-commands.
+
+#### encode
+
+```verbatim
+efuse -v encode BONN 0x146cb
+Input:
+ probe_location name : BONN
+ chip serial number : 83659 (bin: 0b10100011011001011, hex: 0x146cb)
+Encoded:
+ encoded e-fuse (bin) : 00010001010001101100101100011111 (32 bits)
+ (hex) : 0x1146cb1f
+```
+
+#### decode
+
+```
+efuse -v decode 0x1146cb1f
+Input:
+ e-fuse data (bin): 0b100010100011011001011
+ (hex): 0x1146cb
+Decoded:
+ chip serial number : 0x146cb
+ probe location : BONN (id: 0x1)
+```
+
+### As a module
+
+You can import the `itkpix_efuse_codec` module in your existing Python scripts. For example,
+to generate the 32-bit encoded E-fuse data you would do:
+
+```python
+import itkpix_efuse_codec
+
+probe_location_name : str = "BONN" # must be a valid name
+chip_sn : int = 0x12345;
+efuse_binary_string = itkpix_efuse_codec.encode(probe_location_name, chip_sn) # returns binary string
+
+efuse_data = int(efuse_binary_string, 2) # parse the binary string into an integer
+```
+
+To decode 32-bit E-fuse data retreived from the ITkPix ASIC, you would do:
+
+```python
+import itkpix_efuse_codec
+from itkpix_efuse_codec import EfuseData
+
+retrieved_efuse_data : int = ...
+decoded_efuse_data = int(itkpix_efuse_codec.decode(retrieved_efuse_data), 2) # parse the binary string into an integer
+efuse_data = EfuseData(decoded_efuse_data) # EfuseData class has useful getters
+
+chip_sn = efuse_data.chip_sn()
+probe_location_name = efuse_data.probe_location_name()
+probe_location_id = efuse_data.probe_location_id()
+```
+
+
+
+
+%prep
+%autosetup -n itkpix-efuse-codec-0.3.2
+
+%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-itkpix-efuse-codec -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3.2-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..68c0a2c
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+09c40dc597f93bc8d277de5c5fb36ae3 itkpix_efuse_codec-0.3.2.tar.gz