예제 #1
0
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
예제 #2
0
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')
예제 #3
0
                                                         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())