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.1.tar.gz (852.5 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.1-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.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.12+ x86-64

itkpix_efuse_codec-0.3.1-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.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

itkpix_efuse_codec-0.3.1-cp37-cp37m-musllinux_1_1_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

itkpix_efuse_codec-0.3.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

itkpix_efuse_codec-0.3.1-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.1-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

File details

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

File metadata

  • Download URL: itkpix_efuse_codec-0.3.1.tar.gz
  • Upload date:
  • Size: 852.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for itkpix_efuse_codec-0.3.1.tar.gz
Algorithm Hash digest
SHA256 99a7d3ea9475d7f189120c79206451ee4095d8e6e6e273a32de7b99e7a20ccb9
MD5 389bf42b1e8d6a8ee5778cca205c69b0
BLAKE2b-256 36430626dfbd7f8a231000af6621a846a04a5f760b8618ec528385cdb4641573

See more details on using hashes here.

File details

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

File metadata

  • Download URL: itkpix_efuse_codec-0.3.1-cp39-cp39-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.9, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for itkpix_efuse_codec-0.3.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e6a3a844b0aafe9cce86eef5474e5fc81d1fc16b5ce5c40bcf035aed2d8412d9
MD5 fb215895cf641ea9febbeec8e58506c7
BLAKE2b-256 3024785c1b0abe370cc6cc25bf08d1f3d7d1f17fd03a966999f74ed28be8091a

See more details on using hashes here.

File details

Details for the file itkpix_efuse_codec-0.3.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for itkpix_efuse_codec-0.3.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a8187334f62ea644551609aee399b71448a9145954cbc5d3cc16bdb46809798d
MD5 d60ae844983fb5161bab09836188f01a
BLAKE2b-256 e51802954dc5baa734099c76f286e5cb8709d3e2bf4c4a27cc3e664a0e7ae320

See more details on using hashes here.

File details

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

File metadata

  • Download URL: itkpix_efuse_codec-0.3.1-cp38-cp38-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.8, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for itkpix_efuse_codec-0.3.1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c0fe47a4c1ca0c9193348dae9914906f87ef7d670e07a94baa2663ec9a225b44
MD5 b9e4c145d60a6c553016893b83411d78
BLAKE2b-256 c6df25e77b49a01f49411dd0d3fb5d8ebeb58ec1ccebb03a3141c7ac863f13e4

See more details on using hashes here.

File details

Details for the file itkpix_efuse_codec-0.3.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for itkpix_efuse_codec-0.3.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 aaff98d918ee71698a5cdd6e5e5226648dadb99131a239817c99099ddd14d246
MD5 18671b27c7f9a59b3f28a4778ddad9f1
BLAKE2b-256 21f4af7feca9e4a70bb14f0a51f51684127e7806833e2ac5bae59918c091ab0e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: itkpix_efuse_codec-0.3.1-cp37-cp37m-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.7m, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for itkpix_efuse_codec-0.3.1-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 cc7c2b8253bee9b82a0e3c80c3475c81d5459864cd1ecb84d159241fc139b77e
MD5 3c1feffb972b6448ea85bcdb87a3bd8a
BLAKE2b-256 e0f56a62737d06d3153e433fe0572f17bfcfdeff63ffc8fe45799e01b6085882

See more details on using hashes here.

File details

Details for the file itkpix_efuse_codec-0.3.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for itkpix_efuse_codec-0.3.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e71a937efa1800f6e93a3b3d92c6ff7e3398ac03d3ba47540e0c686fc19cf697
MD5 6c2d827a89689619d6c3c91c1b51d744
BLAKE2b-256 f39ff6c4ad4007cbd20388794c87e69b2d449ccab86ac17d91956b37a577de17

See more details on using hashes here.

File details

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

File metadata

  • Download URL: itkpix_efuse_codec-0.3.1-cp36-cp36m-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.6m, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for itkpix_efuse_codec-0.3.1-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 1b23d04c8c56097fa1bda9902013fd324819d0e53c27b01dbacfb8a8ccf808a3
MD5 8089761e33ccb496dfac16ad32cd2222
BLAKE2b-256 ef70affabf4e7b491d103d7531e4b7bf232cca01037b6df70fa80a4a5d7f7221

See more details on using hashes here.

File details

Details for the file itkpix_efuse_codec-0.3.1-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for itkpix_efuse_codec-0.3.1-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a81791c96020564188187d10468bbf5d09fda414be1a878829d4ad21aa04b718
MD5 5f3e67726847080413f3293a25d915d7
BLAKE2b-256 23767d5b72d7ae3d0a61fb487fb984e1af66f9fa0c7d5307235e21873f901088

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