Using define reg/bit from python (#1344)

* define_bit, define_addr in python. 
* setBit/clearBit takes int or addr
This commit is contained in:
Erik Fröjdh
2025-12-12 08:35:31 +01:00
committed by GitHub
parent 654c16b52b
commit f150eed74b
5 changed files with 121 additions and 75 deletions

View File

@@ -198,79 +198,6 @@ def test_make_mac_from_tuple():
assert make_mac(arg) == (MacAddr("84:a9:aa:24:32:88"),
MacAddr("84:a9:3e:24:32:aa"))
def test_make_reg_addr_from_dict():
arg = {0: 0, 1: 0x305}
res = make_register_address(arg)
assert res == {0: RegisterAddress(0x0), 1: RegisterAddress(0x305)}
assert res[0].str() == "0x0"
assert res[1].str() == "0x305"
def test_make_reg_addr_from_str():
reg_addr = "0x305"
assert make_register_address(reg_addr).str() == reg_addr
def test_make_reg_addr_from_list():
arg = [0x305, "0x1fff1fff", 0xc34a]
assert make_register_address(arg) == [RegisterAddress(a) for a in arg]
def test_make_reg_addr_from_tuple():
arg = ("0x340")
assert make_register_address(arg) == (RegisterAddress(arg))
def test_make_reg_val_from_dict():
arg = {0: 0, 1: 0x305}
res = make_register_value(arg)
assert res == {0: RegisterValue(0x0), 1: RegisterValue(0x305)}
assert res[0].str() == "0x0"
assert res[1].str() == "0x305"
def test_make_reg_val_from_str():
reg_val = "0x305"
assert make_register_value(reg_val).str() == reg_val
def test_make_reg_val_from_list():
arg = [0x305, "0x1fff1fff", 0xc34a]
assert make_register_value(arg) == [RegisterValue(a) for a in arg]
def test_make_reg_val_from_tuple():
arg = ("0x340")
assert make_register_value(arg) == (RegisterValue(arg))
def test_make_bit_pos_from_dict():
arg = {
0: (RegisterAddress(0), 2),
1: (RegisterAddress(0x305), 23)
}
res = make_bit_position(arg)
assert res == {
0: BitAddress(RegisterAddress("0x0"), 2),
1: BitAddress(RegisterAddress("0x305"), 23)
}
assert res[0].str() == "[0x0, 2]"
assert res[1].str() == "[0x305, 23]"
def test_make_bit_pos_from_list():
arg = [
(RegisterAddress(0), 2),
(RegisterAddress(0x305), 23)
]
expected = [BitAddress(*a) for a in arg]
assert make_bit_position(arg) == expected
def test_make_bit_pos_from_tuple():
arg = (RegisterAddress(0x305), 23)
expected = BitAddress(*arg)
assert make_bit_position(arg) == expected
def test_make_path_from_str():