Skip to main content

A useful i2c package for Pi

Project description

A useful i2c Python3 package for Pi

It is a simple I2C interface based on smbus2.

1. Installation

Via pip

pip3 install pyi2c

2. How to use I2C? (Example)

2.1 Write

from pyi2c import I2C

# Create i2c
BUS_N = 0 # 0 or 1 or 2. Change this to yours
i2c = I2C(BUS_N)

# Write
ADDR = 0x38 # Change this to yours
WRITE1 = 0x00 # Change this to yours
i2c.write(ADDR, WRITE)

# or write multi bytes, up to 64 bytes
WRITE0 = 0x01 # Change this to yours
i2c.write(ADDR, [WRITE0, WRITE1])

2.2 Read

from pyi2c import I2C

# Create i2c
BUS_N = 0 # 0 or 1 or 2. Change this to yours
i2c = I2C(BUS_N)

# Read
read_data = i2c.read(ADDR)

# or set length of reading bytes
bytes_n = 2
read_data = i2c.read(ADDR, byte_n)

2.3 Write and read

from pyi2c import I2C

# Create i2c
BUS_N = 0 # 0 or 1 or 2. Change this to yours
i2c = I2C(BUS_N)

# First write and read rapidly
read_data = i2c.writeread(ADDR, WRITE0)

# These also work
read_data = i2c.writeread(ADDR, [WRITE0, WRITE1])
read_data = i2c.writeread(ADDR, [WRITE0, WRITE1], bytes_n)

3. How to use useful functions? (Example)

3.1 getBit

from pyi2c import getBit

byte = 0x5a
print( bin(byte) )
# Will return '0b1011010'

print( getBit(byte, 0) )
# Will return 0 from #0 bit

print( getBit(byte, 1) )
# Will return 1 from #1 bit

if getBit(byte, 4) == 1:
    print('hoge')
# Will return 'hoge'

4. API

4.1 I2C

  • write
  • read
  • writeread

4.2 Useful functions

  • getBit(byte, bit_n)

For developers

Build

python3 -m build

Upload

python3 -m twine upload dist/*

Reference

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

pyi2c-0.0.3.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

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

pyi2c-0.0.3-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file pyi2c-0.0.3.tar.gz.

File metadata

  • Download URL: pyi2c-0.0.3.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.10

File hashes

Hashes for pyi2c-0.0.3.tar.gz
Algorithm Hash digest
SHA256 45d2de0f3c17209c896fe26ea1893ccbfe97162d649cd59628962534adec6b42
MD5 3e6d455b3121493ab5bf46c0bfad53ed
BLAKE2b-256 b54bd554c4d9ed02880351b378941502f9941c14569ed5dbca90aed03f8dfd9f

See more details on using hashes here.

File details

Details for the file pyi2c-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: pyi2c-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 3.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.10

File hashes

Hashes for pyi2c-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d9413c46474cee8978fcb0af4b9c1e790ebd8ea68e648a0b6883456aaf007283
MD5 8de2df5076fc9c3c0ec5688e786fe147
BLAKE2b-256 3cf7969ae84484c61242c8ba36a1bb6a7e3706226520671e579ef2ac8880bb13

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