def test_get_register(): bus = MockSMBus(1) bus.regs[0:3] = [0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF] device = Device([0x00, 0x01], i2c_dev=bus, registers=( Register('test24', 0x00, fields=(BitField('test', 0xFFF), ), bit_width=24), Register('test32', 0x00, fields=(BitField('test', 0xFFF), ), bit_width=32), Register('test48', 0x00, fields=(BitField('test', 0xFFF), ), bit_width=48), )) assert device.get_register('test24') == 0xAABBCC assert device.get_register('test32') == 0xAABBCCDD assert device.get_register('test48') == 0xAABBCCDDEEFF
def test_missing_regiser(): bus = MockSMBus(1) device = Device( [0x00, 0x01], i2c_dev=bus, registers=( Register( 'test', 0x00, fields=( BitFlag('test', 6), # Sixth bit from the right )), )) with pytest.raises(KeyError): device.get_register('foo')
0b000, 100: 0b001, 200: 0b010, 500: 0b011, 1000: 0b100, 2000: 0b101 })))))) device.set_field('status', 'power', False) print(device.get_field('status', 'power')) print(device.get_register('status')) print(bus.regs[0]) device.set_field('status', 'power', True) print(device.get_field('status', 'power')) print(device.get_register('status')) print(bus.regs[0]) print("Testing measurement_rate->integration_time_ms") device.set_field('measurement_rate', 'integration_time_ms', 200) print("{:08b}".format(bus.regs[0x85])) assert device.get_field('measurement_rate', 'integration_time_ms') == 200 print("Object set", device.measurement_rate.set_integration_time_ms(400)) print("{:08b}".format(bus.regs[0x85])) print("Object get", device.measurement_rate.get_integration_time_ms())