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.2.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.2-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.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

itkpix_efuse_codec-0.3.2-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.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

itkpix_efuse_codec-0.3.2-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.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

itkpix_efuse_codec-0.3.2-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.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

File details

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

File metadata

  • Download URL: itkpix_efuse_codec-0.3.2.tar.gz
  • Upload date:
  • Size: 852.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.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.2.tar.gz
Algorithm Hash digest
SHA256 c4595d007e84bf792ed1064ac6ce949ed2f7762c689e1b2538cb105d97ecd032
MD5 09c40dc597f93bc8d277de5c5fb36ae3
BLAKE2b-256 ce3570ee45b24bbe0116905d2d8515168fe48a784710da0254476a16e98d2937

See more details on using hashes here.

File details

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

File metadata

  • Download URL: itkpix_efuse_codec-0.3.2-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.7.0 importlib_metadata/4.8.2 pkginfo/1.8.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.2-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 1c602e481c2f5a9226001d9f1fb5abbe84218c9e7d6b5df9863ff90cd14370b8
MD5 1bfcde9f028ac28486690df3c118d00c
BLAKE2b-256 1b978d6ee1c004be657829022ea731c0946ced72c14658e552044a68569ccc4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itkpix_efuse_codec-0.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cff53475efeb00985b51938bbe6c27b9ee6e1f42d07b3b690465c8133bd2dd45
MD5 734d5058be2937e93abcffdd6303c441
BLAKE2b-256 f4a179a842a8ca353285249b874cb49ba34ee24cd6b7af0f489c0d6b98aea02e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: itkpix_efuse_codec-0.3.2-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.7.0 importlib_metadata/4.8.2 pkginfo/1.8.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.2-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 df9190f5ad25f008475b1c2ea76f4c1acb85f889eec5e66883e2e472c9dc5ca8
MD5 b16fc7df465e670355fe58dd37b3b80f
BLAKE2b-256 87eadae8c8acbdac6ca6ddd4b207f3b3026ca6d10de177e86632d044c070964c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itkpix_efuse_codec-0.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d1f77d6cf40f87174015e3746b677ad46a09a1274b1ffe855d1867014be8812b
MD5 e0c218e0800f1d4c7ce733a51c17256d
BLAKE2b-256 cfab719972ebf9a80f95edec72b751cec64860c979046b4aaf06dfd726cea58e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: itkpix_efuse_codec-0.3.2-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.7.0 importlib_metadata/4.8.2 pkginfo/1.8.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.2-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 edb396be5ecfe90c357762a03f712a04c60a57731c46c49309b287e7f9f6070b
MD5 c1a71ab7d8aafbf2b28d172362c76805
BLAKE2b-256 a89331dee0625ee40ef8bc5e19b6ee8ddab5ebf22cee2b3f744f21283f4faf65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itkpix_efuse_codec-0.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 52fe4f9cafed05593e6d3b10fe658dd2ae17f21a6f4f758651a319499b00fa59
MD5 58606af4b1442bc6de51446b90954ffb
BLAKE2b-256 3f04dbaff755d24f73fd5071b627c128c4410d050429b8e2b5a75c94ae9a6582

See more details on using hashes here.

File details

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

File metadata

  • Download URL: itkpix_efuse_codec-0.3.2-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.7.0 importlib_metadata/4.8.2 pkginfo/1.8.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.2-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 05eabc557c95cb2aad48982b4a74a432b7e546aa442c00a665c0d61b20adef48
MD5 aea195a9b373e29c2c53e31e947175f7
BLAKE2b-256 4def633615238cbb6542f2c733ffd991be3cd58477d807a503cdd8c15bac5da5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itkpix_efuse_codec-0.3.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d0756750a844aa3ea7dafab3cf8658f2678ebe2d89225ecc6932cec029c38d38
MD5 da18d2c8f890bd72a64645daa81da735
BLAKE2b-256 501b31df228d5879f31fa56c25ff8ef82c1eb692d318fc156041455c586ba8e9

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