Skip to main content

Utilities for encoding and decoding the data stored in the ITkPix ASIC e-fuses

Project 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/ 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. Simply run the following command to install:

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

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:

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:

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()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

itkpix_efuse_codec-0.3.3.tar.gz (872.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

itkpix_efuse_codec-0.3.3-cp39-cp39-musllinux_1_1_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

itkpix_efuse_codec-0.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

itkpix_efuse_codec-0.3.3-cp38-cp38-musllinux_1_1_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

itkpix_efuse_codec-0.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

itkpix_efuse_codec-0.3.3-cp37-cp37m-musllinux_1_1_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

itkpix_efuse_codec-0.3.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

itkpix_efuse_codec-0.3.3-cp36-cp36m-musllinux_1_1_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.6mmusllinux: musl 1.1+ x86-64

itkpix_efuse_codec-0.3.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

File details

Details for the file itkpix_efuse_codec-0.3.3.tar.gz.

File metadata

  • Download URL: itkpix_efuse_codec-0.3.3.tar.gz
  • Upload date:
  • Size: 872.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.17

File hashes

Hashes for itkpix_efuse_codec-0.3.3.tar.gz
Algorithm Hash digest
SHA256 4e13d17815356faef039a42331713326c7ccbcbe2fb331482e2d8f510c2f956a
MD5 8d9025ca80b6b605dfac70ebd9d6dd93
BLAKE2b-256 540094b1901f385954bff6966377c4e78d6c9207678052803ad1d69aa747dc81

See more details on using hashes here.

File details

Details for the file itkpix_efuse_codec-0.3.3-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for itkpix_efuse_codec-0.3.3-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 08d9e5db540e5578c33ffd26f541c9d437212b8f1938365a6393235d00b03d24
MD5 983a85e2ff58f4e915b38051dde4fc48
BLAKE2b-256 7d89b4248f70a9aabbf5c5a70248eada1565e163ddc39db0bd8958a334270196

See more details on using hashes here.

File details

Details for the file itkpix_efuse_codec-0.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itkpix_efuse_codec-0.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dcbc4f7a35f7cdc9122f8fdb1c9e29ca4a4da53cca69decd1a863bd211590aac
MD5 d5cbffe63492379704da5eb7634ec590
BLAKE2b-256 fa1af0feacf981ce60ff76058e0d91f0c085b9d4fbb70b021daa223e07124beb

See more details on using hashes here.

File details

Details for the file itkpix_efuse_codec-0.3.3-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for itkpix_efuse_codec-0.3.3-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 448fb2716f987d4a870a45f018cee3df41707c547f9406ad988b171ac65560d0
MD5 6e20424c04bc99f279bda1ee34389460
BLAKE2b-256 64b0fca00886dfa96b59e75ccb4585ba4ddead68c664d5d519bf8e7855ab9dbf

See more details on using hashes here.

File details

Details for the file itkpix_efuse_codec-0.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itkpix_efuse_codec-0.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 633538be0d71a549d383a8db371caff814d668251fe6c594e23d5bbd713a1dd8
MD5 cbba6ada6235d4466d723105245cf1e4
BLAKE2b-256 136c40b0cbfee3f3b33b5af444ffd5fc824a0e75f7d842abc74afa8a4161bd09

See more details on using hashes here.

File details

Details for the file itkpix_efuse_codec-0.3.3-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for itkpix_efuse_codec-0.3.3-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a791bcfde3052ca8f45d4c82d1ca228317ade488f3891b041339a2127b5b5247
MD5 78489abebe6dac48203a265405f557c0
BLAKE2b-256 9d160eadc903ba312629b161b7a348f58f1c4a5da24281a8a3742c191872ddc6

See more details on using hashes here.

File details

Details for the file itkpix_efuse_codec-0.3.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itkpix_efuse_codec-0.3.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 75b95e0b3d475092a4e5decfcf1bd8df0aa150b0268e36407313bee4983ae7a9
MD5 21392daf53c0833e193316f641940b5d
BLAKE2b-256 2ed01fbe5de44c50c4cc751acc2732e3074711010e17272e900fdaea7bd57153

See more details on using hashes here.

File details

Details for the file itkpix_efuse_codec-0.3.3-cp36-cp36m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for itkpix_efuse_codec-0.3.3-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e5c70a8dd840153183bc4122ca1806722fbf04ca932a7d17436e35dcd44f4292
MD5 8567e6da5fc27d516e646523a8327a76
BLAKE2b-256 6249d09b66aeb6f299050bc6d8a92a0ff311e870ffd63babb697dccbd3a8496c

See more details on using hashes here.

File details

Details for the file itkpix_efuse_codec-0.3.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itkpix_efuse_codec-0.3.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d4c8b0eeb9682d17fbfca3f5156e78d0cdf2d4845d96e6ead711037d5bf647e
MD5 998246253b69fe6a17584c72f8f6426e
BLAKE2b-256 8585b00801264908564e23300fa0e2c999c11144a5d2e4d93accac69d76dd283

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page