1234567891011121314151617181920212223242526272829303132333435 |
- from smbus2 import SMBus
- from time import *
- class i2c_device:
- def __init__(self, addr, port=1):
- self.addr = addr
- self.bus = SMBus(port)
- # Write a single command
- def write_cmd(self, cmd):
- self.bus.write_byte(self.addr, cmd)
- sleep(0.0001)
- # Write a command and argument
- def write_cmd_arg(self, cmd, data):
- self.bus.write_byte_data(self.addr, cmd, data)
- sleep(0.0001)
- # Write a block of data
- def write_block_data(self, cmd, data):
- self.bus.write_block_data(self.addr, cmd, data)
- sleep(0.0001)
- # Read a single byte
- def read(self):
- return self.bus.read_byte(self.addr)
- # Read
- def read_data(self, cmd):
- return self.bus.read_byte_data(self.addr, cmd)
- # Read a block of data
- def read_block_data(self, cmd):
- return self.bus.read_block_data(self.addr, cmd)
|