Index: leahi_dialin/common/generic_defs.py =================================================================== diff -u -r11b0f857ad21c17d2a1a361ad002e77a67a99f5c -r41805cd3ccca131f8e592b0777f90ab587d2be3f --- leahi_dialin/common/generic_defs.py (.../generic_defs.py) (revision 11b0f857ad21c17d2a1a361ad002e77a67a99f5c) +++ leahi_dialin/common/generic_defs.py (.../generic_defs.py) (revision 41805cd3ccca131f8e592b0777f90ab587d2be3f) @@ -288,12 +288,14 @@ MAX_DIALYSATE_SYSTEM_FLOW_MLPM = (1, DataTypes.U32) # Max dialysate flow in mL/min MIN_DIALYSATE_TEMP_C = (2, DataTypes.F32) # Min dialysate temperature in C MAX_DIALYSATE_TEMP_C = (3, DataTypes.F32) # Max dialysate temperature in C - ACID_CONCENTRATE = (4, DataTypes.F32) # Acid concentrate - BICARB_CARTRIDGE_SIZE_G = (5, DataTypes.F32) # Bicarbonate cartridge size in grams - MIN_SODIUM_MEQPL = (6, DataTypes.F32) # Min sodium in mEq/L - MAX_SODIUM_MEQPL = (7, DataTypes.F32) # Max sodium in mEq/L - MIN_BICARBONATE_MEQPL = (8, DataTypes.F32) # Min bicarbonate in mEq/L - MAX_BICARBONATE_MEQPL = (9, DataTypes.F32) # Max bicarbonate in mEq/L + MIN_ACID_CONCENTRATE = (4, DataTypes.U32) # Min Acid concentrate + MAX_ACID_CONCENTRATE = (4, DataTypes.U32) # Max Acid concentrate + MIN_BICARB_CARTRIDGE_SIZE_G = (5, DataTypes.U32) # Min Bicarbonate cartridge size in grams + MAX_BICARB_CARTRIDGE_SIZE_G = (5, DataTypes.U32) # Max Bicarbonate cartridge size in grams + MIN_SODIUM_MEQPL = (6, DataTypes.U32) # Min sodium in mEq/L + MAX_SODIUM_MEQPL = (7, DataTypes.U32) # Max sodium in mEq/L + MIN_BICARBONATE_MEQPL = (8, DataTypes.U32) # Min bicarbonate in mEq/L + MAX_BICARBONATE_MEQPL = (9, DataTypes.U32) # Max bicarbonate in mEq/L MIN_RO_REJECTION_RATIO_PCT = (10, DataTypes.U32) # Min RO rejection ratio in percent DISINFECTION_FREQUENCY = (11, DataTypes.U32) # Disinfection days between cycles DISINFECTION_CYCLE_TIME = (12, DataTypes.F32) # Disinfection Cycle Time Index: leahi_dialin/utils/abstract_classes.py =================================================================== diff -u -r0593f17d4a3a35989edbc1a576da868b5e971a0b -r41805cd3ccca131f8e592b0777f90ab587d2be3f --- leahi_dialin/utils/abstract_classes.py (.../abstract_classes.py) (revision 0593f17d4a3a35989edbc1a576da868b5e971a0b) +++ leahi_dialin/utils/abstract_classes.py (.../abstract_classes.py) (revision 41805cd3ccca131f8e592b0777f90ab587d2be3f) @@ -157,9 +157,11 @@ if isinstance(decode_details[-1], int): length = decode_details[-1] datatype: DataTypes = decode_details[-2] + key_list_length = len(decode_details) - 2 else: length = 1 datatype: DataTypes = decode_details[-1] + key_list_length = len(decode_details) - 1 end_pos = start_pos + datatype.size() @@ -187,13 +189,14 @@ if datatype in [DataTypes.BOOL, DataTypes.BOOL_U08]: value = True if value == 1 else False # Save the value into the Dictionary - if len(decode_details) == 2: + + if key_list_length == 1: dict_to_update[key_1] = value - elif len(decode_details) == 3: + elif key_list_length == 2: if key_1 not in dict_to_update: dict_to_update[key_1] = {} dict_to_update[key_1][key_2] = value - elif len(decode_details) == 4: + elif key_list_length == 3: if key_1 not in dict_to_update: dict_to_update[key_1] = {} if key_2 not in dict_to_update[key_1]: