Esempio n. 1
0
def csum_words(msg, l):
    odd = False
    if l % 2:
        l -= 1
        odd = True

    # l is in bytes. We need 16-bit words
    a = addressof(msg)
    x = 0

    for i in range(0, l, 2):
        c = be16.from_address(a + i)
        x += c.c

    if odd:
        last = c_uint16(c_uint8.from_address(a + l).value << 8)
        x += last.value

    return x
Esempio n. 2
0
def t_uint8(address):
    return c_uint8.from_address(address + sizeof(nlattr)).value
Esempio n. 3
0
def t_state(address):
    return M_IF_OPER_REVERSE[c_uint8.from_address(address + sizeof(nlattr)).value][8:]
 def readByte(self, address, isLocalAddress=False):
     if not isLocalAddress:
         address = self.remoteAddressToLocalAddress(address)
     return c_uint8.from_address(address).value