Index: leahi_dialin/dd/modules/gen_dialysate.py =================================================================== diff -u -rf0566e1e902b870166c829ec82cd2605efac62b0 -r39190f5b592ef515e19ae1b5455a32b84f853cf5 --- leahi_dialin/dd/modules/gen_dialysate.py (.../gen_dialysate.py) (revision f0566e1e902b870166c829ec82cd2605efac62b0) +++ leahi_dialin/dd/modules/gen_dialysate.py (.../gen_dialysate.py) (revision 39190f5b592ef515e19ae1b5455a32b84f853cf5) @@ -66,14 +66,26 @@ @param message: published gen dialysate data message @return: None """ - self.execution_state = struct.unpack('I', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_1:MsgFieldPositions.END_POS_FIELD_1]))[0] - self.dialysate_delivery_in_progress = struct.unpack('I', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_2:MsgFieldPositions.END_POS_FIELD_2]))[0] - self.dialysate_good_to_deliver = struct.unpack('I', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_3:MsgFieldPositions.END_POS_FIELD_3]))[0] - self.target_qd = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_4:MsgFieldPositions.END_POS_FIELD_4]))[0] + sensor_list =[] + sensor_list.append(['self.execution_state', 'I']) + sensor_list.append(['self.dialysate_delivery_in_progress', 'I']) + # sensor_list.append(['self.d6_level', 'I']) + # sensor_list.append(['self.d63_level', 'f']) + # sensor_list.append(['self.d46_level', 'I']) + # sensor_list.append(['self.d9_pressure', 'f']) + # sensor_list.append(['self.d18_pressure', 'f']) + # sensor_list.append(['self.d51_pressure', 'f']) + sensor_list.append(['self.dialysate_good_to_deliver', 'I']) + sensor_list.append(['self.target_qd', 'f']) + + i = 1 + for sensor in sensor_list: + start_pos = eval(f'MsgFieldPositions.START_POS_FIELD_{i}') + end_pos = eval(f'MsgFieldPositions.END_POS_FIELD_{i}') + value = struct.unpack(sensor[1],bytearray(message['message'][start_pos:end_pos]))[0] + exec(f'{sensor[0]} = {value}') + i += 1 + self.dd_gen_dialysate_timestamp = timestamp