Index: leahi_dialin/utils/abstract_classes.py =================================================================== diff -u -rc8bafcb198910f30a8fb1c37024050b2c20ea898 -rc41ad46a9dea345a8feb4e674b6753999e381629 --- leahi_dialin/utils/abstract_classes.py (.../abstract_classes.py) (revision c8bafcb198910f30a8fb1c37024050b2c20ea898) +++ leahi_dialin/utils/abstract_classes.py (.../abstract_classes.py) (revision c41ad46a9dea345a8feb4e674b6753999e381629) @@ -82,7 +82,7 @@ results = {} if debug: print(f'\n\ndecoder_list: {decoder_list}') - print(f'len: {len(decoder_list[0])}') + print(f'full message: {message["message"]}') for decode_details in decoder_list: # Content of the decode list variable_name = decode_details[0] @@ -97,19 +97,25 @@ end_pos = start_pos + datatype.size() for i in range(0, length): + end_pos = start_pos + datatype.size() try: new_value = struct.unpack(datatype.unpack_attrib(), bytearray(message['message'][start_pos:end_pos]))[0] - if i == 0: + if length == 1: value = new_value - else: - value += new_value + elif datatype == DataTypes.U08 and length > 1: + if i == 0: + value = chr(new_value) + else: + value += chr(new_value) + if debug: + print(f'Message Part: {message["message"][start_pos:end_pos]}') + print(f'Input Data: {bytearray(message["message"][start_pos:end_pos])}') + print(f'New value: {new_value} + -> Value: {value}') except Exception as e: value = None break + start_pos = end_pos - if debug: - print(f'{variable_name}: {value} ({datatype.name})') - print(f'pos: {start_pos} - {end_pos}') if 'nan' in str(value).lower(): value = None break @@ -146,7 +152,7 @@ start_pos = MSG_HEADER_SIZE + start_from_byte if debug: print(f'\n\ndecoder_list: {decoder_list}') - print(f'len: {len(decoder_list[0])}') + print(f'full message: {message["message"]}') for decode_details in decoder_list: # Content of the decode list key_1 = decode_details[0] @@ -175,10 +181,9 @@ else: value += chr(new_value) if debug: + print(f'Message Part: {message["message"][start_pos:end_pos]}') print(f'Input Data: {bytearray(message["message"][start_pos:end_pos])}') - print(f'Unpack attrib: {datatype.unpack_attrib()}') - print(f'Value: {value}') - print(f'New value: {new_value}') + print(f'New value: {new_value} + -> Value: {value}') except Exception as e: value = None break