Index: leahi_dialin/dd/modules/records.py =================================================================== diff -u -r2b9fd919d9b982d95ce0b79012f0b663408596e2 -r3e68e7de9179614903fffd17966447eb846963f0 --- leahi_dialin/dd/modules/records.py (.../records.py) (revision 2b9fd919d9b982d95ce0b79012f0b663408596e2) +++ leahi_dialin/dd/modules/records.py (.../records.py) (revision 3e68e7de9179614903fffd17966447eb846963f0) @@ -87,6 +87,42 @@ function = self._handler_usage_info_record_sync) # Set Data Response messages self.can_interface.register_receiving_publication_function(channel_id = CanChannels.dd_sync_broadcast_ch_id, + message_id = MsgIds.MSG_ID_DD_NVM_SET_SYSTEM_RECORD_RESPONSE.value, + function = self._handler_system_rr_sync) + self.can_interface.register_receiving_publication_function(channel_id = CanChannels.dd_sync_broadcast_ch_id, + message_id = MsgIds.MSG_ID_DD_NVM_SET_SERVICE_RECORD_RESPONSE.value, + function = self._handler_service_rr_sync) + self.can_interface.register_receiving_publication_function(channel_id = CanChannels.dd_sync_broadcast_ch_id, + message_id = MsgIds.MSG_ID_DD_NVM_SET_CAL_PRESSURE_SENSOR_RESPONSE.value, + function = self._handler_cal_pressure_rr_sync) + self.can_interface.register_receiving_publication_function(channel_id = CanChannels.dd_sync_broadcast_ch_id, + message_id = MsgIds.MSG_ID_DD_NVM_SET_CAL_TEMP_SENSOR_RESPONSE.value, + function = self._handler_cal_temp_rr_sync) + self.can_interface.register_receiving_publication_function(channel_id = CanChannels.dd_sync_broadcast_ch_id, + message_id = MsgIds.MSG_ID_DD_NVM_SET_CAL_CONC_PUMP_RESPONSE.value, + function = self._handler_cal_conc_pump_rr_sync) + self.can_interface.register_receiving_publication_function(channel_id = CanChannels.dd_sync_broadcast_ch_id, + message_id = MsgIds.MSG_ID_DD_NVM_SET_CAL_D12_PUMP_RESPONSE.value, + function = self._handler_cal_d12_rr_sync) + self.can_interface.register_receiving_publication_function(channel_id = CanChannels.dd_sync_broadcast_ch_id, + message_id = MsgIds.MSG_ID_DD_NVM_SET_CAL_D48_PUMP_RESPONSE.value, + function = self._handler_cal_d48_rr_sync) + self.can_interface.register_receiving_publication_function(channel_id = CanChannels.dd_sync_broadcast_ch_id, + message_id = MsgIds.MSG_ID_DD_NVM_SET_CAL_ACID_CONCENTRATE_RESPONSE.value, + function = self._handler_cal_acid_rr_sync) + self.can_interface.register_receiving_publication_function(channel_id = CanChannels.dd_sync_broadcast_ch_id, + message_id = MsgIds.MSG_ID_DD_NVM_SET_CAL_BICARB_CONCENTRATE_RESPONSE.value, + function = self._handler_cal_bicarb_rr_sync) + self.can_interface.register_receiving_publication_function(channel_id = CanChannels.dd_sync_broadcast_ch_id, + message_id = MsgIds.MSG_ID_DD_NVM_SET_CAL_ACCEL_SENSOR_RESPONSE.value, + function = self._handler_cal_accel_rr_sync) + self.can_interface.register_receiving_publication_function(channel_id = CanChannels.dd_sync_broadcast_ch_id, + message_id = MsgIds.MSG_ID_DD_NVM_SET_CAL_BLOOD_LEAK_SENSOR_RESPONSE.value, + function = self._handler_cal_blood_leak_rr_sync) + self.can_interface.register_receiving_publication_function(channel_id = CanChannels.dd_sync_broadcast_ch_id, + message_id = MsgIds.MSG_ID_DD_NVM_SET_INSTITUTIONAL_RECORD_RESPONSE.value, + function = self._handler_institutional_rr_sync) + self.can_interface.register_receiving_publication_function(channel_id = CanChannels.dd_sync_broadcast_ch_id, message_id = MsgIds.MSG_ID_DD_NVM_SET_USAGE_INFO_RECORD_RESPONSE.value, function = self._handler_usage_info_rr_sync) @@ -517,7 +553,7 @@ self.service_set_rr_timestamp = timestamp - @publish(["msg_id_dd_nvm_set_institutional_record_response", "institutional_records_ack", "institutional_records_rr", "id", "institutional_set_rr_timestamp"]) + @publish(["msg_id_dd_nvm_set_institutional_record_response", "institutional_records_rr", "institutional_set_rr_timestamp"]) def _handler_institutional_rr_sync(self, message, timestamp = 0.0): """ Handles published DD Set Institutional Records Reject Reason data messages. DD Set Institutional Records Reject Reason are captured @@ -527,12 +563,17 @@ @return: none """ msg_list = [] - msg_list.append(('self.institutional_records_ack', DataTypes.BOOL)) - msg_list.append(('self.institutional_records_rr', DataTypes.U32)) - msg_list.append(('self.id', DataTypes.U32)) + msg_list.append(('ack', DataTypes.BOOL)) + msg_list.append(('rr', DataTypes.U32)) + msg_list.append(('id', DataTypes.U32)) - self.process_into_vars(decoder_list = msg_list, - message = message) + result = self.process_into_vars(decoder_list = msg_list, + message = message) + + if result['id'] not in self.institutional_records_rr: + self.institutional_records_rr[result['id']] = {} + self.institutional_records_rr[result['id']]['ack'] = result['ack'] + self.institutional_records_rr[result['id']]['rr'] = result['rr'] self.institutional_set_rr_timestamp = timestamp @@ -556,6 +597,241 @@ self.usage_info_set_rr_timestamp = timestamp + @publish(["msg_id_dd_nvm_set_cal_pressure_sensor_response", "calibration_records_rr", "calibration_set_rr_timestamp"]) + def _handler_cal_pressure_rr_sync(self, message, timestamp = 0.0): + """ + Handles published DD Set Calibration Records for Pressure Sensor Reject Reason data messages.DD Set Calibration Records for Pressure Sensor Reject Reason are captured + for reference. + + @param message: published data message + @return: none + """ + msg_list = [] + msg_list.append(('ack', DataTypes.BOOL)) + msg_list.append(('rr', DataTypes.U32)) + msg_list.append(('id', DataTypes.U32)) + + result = self.process_into_vars(decoder_list = msg_list, + message = message) + + if 'pres' not in self.calibration_records_rr: + self.calibration_records_rr['pres'] = {} + if result['id'] not in self.calibration_records_rr: + self.calibration_records_rr['pres'][result['id']] = {} + self.calibration_records_rr['pres'][result['id']]['ack'] = result['ack'] + self.calibration_records_rr['pres'][result['id']]['rr'] = result['rr'] + + self.calibration_set_rr_timestamp = timestamp + + + @publish(["msg_id_dd_nvm_set_cal_temp_sensor_response", "calibration_records_rr", "calibration_set_rr_timestamp"]) + def _handler_cal_temp_rr_sync(self, message, timestamp = 0.0): + """ + Handles published DD Set Calibration Records for Temperature Sensor Reject Reason data messages.DD Set Calibration Records for Temperature Sensor Reject Reason are captured + for reference. + + @param message: published data message + @return: none + """ + msg_list = [] + msg_list.append(('ack', DataTypes.BOOL)) + msg_list.append(('rr', DataTypes.U32)) + msg_list.append(('id', DataTypes.U32)) + + result = self.process_into_vars(decoder_list = msg_list, + message = message) + + if 'temp' not in self.calibration_records_rr: + self.calibration_records_rr['temp'] = {} + if result['id'] not in self.calibration_records_rr: + self.calibration_records_rr['temp'][result['id']] = {} + self.calibration_records_rr['temp'][result['id']]['ack'] = result['ack'] + self.calibration_records_rr['temp'][result['id']]['rr'] = result['rr'] + + self.calibration_set_rr_timestamp = timestamp + + + @publish(["msg_id_dd_nvm_set_cal_conc_pump_response", "calibration_records_rr", "calibration_set_rr_timestamp"]) + def _handler_cal_conc_pump_rr_sync(self, message, timestamp = 0.0): + """ + Handles published DD Set Calibration Records for Concentrate Pump Reject Reason data messages.DD Set Calibration Records for Concentrate Pump Reject Reason are captured + for reference. + + @param message: published data message + @return: none + """ + msg_list = [] + msg_list.append(('ack', DataTypes.BOOL)) + msg_list.append(('rr', DataTypes.U32)) + msg_list.append(('id', DataTypes.U32)) + + result = self.process_into_vars(decoder_list = msg_list, + message = message) + + if 'conc' not in self.calibration_records_rr: + self.calibration_records_rr['conc'] = {} + if result['id'] not in self.calibration_records_rr: + self.calibration_records_rr['conc'][result['id']] = {} + self.calibration_records_rr['conc'][result['id']]['ack'] = result['ack'] + self.calibration_records_rr['conc'][result['id']]['rr'] = result['rr'] + + self.calibration_set_rr_timestamp = timestamp + + + @publish(["msg_id_dd_nvm_set_cal_d12_pump_response", "calibration_records_rr", "calibration_set_rr_timestamp"]) + def _handler_cal_d12_rr_sync(self, message, timestamp = 0.0): + """ + Handles published DD Set Calibration Records for D12 Dialisate Pump Reject Reason data messages.DD Set Calibration Records for D12 Dialisate Pump Reject Reason are captured + for reference. + + @param message: published data message + @return: none + """ + msg_list = [] + msg_list.append(('ack', DataTypes.BOOL)) + msg_list.append(('rr', DataTypes.U32)) + + result = self.process_into_vars(decoder_list = msg_list, + message = message) + + if 'dial' not in self.calibration_records_rr: + self.calibration_records_rr['dial'] = {} + if 'd12_pump' not in self.calibration_records_rr: + self.calibration_records_rr['dial']['d12_pump'] = {} + self.calibration_records_rr['dial']['d12_pump']['ack'] = result['ack'] + self.calibration_records_rr['dial']['d12_pump']['rr'] = result['rr'] + + self.calibration_set_rr_timestamp = timestamp + + + @publish(["msg_id_dd_nvm_set_cal_d48_pump_response", "calibration_records_rr", "calibration_set_rr_timestamp"]) + def _handler_cal_d48_rr_sync(self, message, timestamp = 0.0): + """ + Handles published DD Set Calibration Records for D48 Dialisate Pump Reject Reason data messages.DD Set Calibration Records for D48 Dialisate Pump Reject Reason are captured + for reference. + + @param message: published data message + @return: none + """ + msg_list = [] + msg_list.append(('ack', DataTypes.BOOL)) + msg_list.append(('rr', DataTypes.U32)) + + result = self.process_into_vars(decoder_list = msg_list, + message = message) + + if 'dial' not in self.calibration_records_rr: + self.calibration_records_rr['dial'] = {} + if 'd48_pump' not in self.calibration_records_rr: + self.calibration_records_rr['dial']['d48_pump'] = {} + self.calibration_records_rr['dial']['d48_pump']['ack'] = result['ack'] + self.calibration_records_rr['dial']['d48_pump']['rr'] = result['rr'] + + self.calibration_set_rr_timestamp = timestamp + + + @publish(["msg_id_dd_nvm_set_acid_concentrate_response", "calibration_records_rr", "calibration_set_rr_timestamp"]) + def _handler_cal_acid_rr_sync(self, message, timestamp = 0.0): + """ + Handles published DD Set Calibration Records for Acid Concentrate Reject Reason data messages.DD Set Calibration Records for Acid Concentrate Reject Reason are captured + for reference. + + @param message: published data message + @return: none + """ + msg_list = [] + msg_list.append(('ack', DataTypes.BOOL)) + msg_list.append(('rr', DataTypes.U32)) + msg_list.append(('id', DataTypes.U32)) + + result = self.process_into_vars(decoder_list = msg_list, + message = message) + + if 'acid' not in self.calibration_records_rr: + self.calibration_records_rr['acid'] = {} + if result['id'] not in self.calibration_records_rr: + self.calibration_records_rr['acid'][result['id']] = {} + self.calibration_records_rr['acid'][result['id']]['ack'] = result['ack'] + self.calibration_records_rr['acid'][result['id']]['rr'] = result['rr'] + + self.calibration_set_rr_timestamp = timestamp + + + @publish(["msg_id_dd_nvm_set_cal_bicarb_concentrate_response", "calibration_records_rr", "calibration_set_rr_timestamp"]) + def _handler_cal_bicarb_rr_sync(self, message, timestamp = 0.0): + """ + Handles published DD Set Calibration Records for Bicarb Concentrate Reject Reason data messages.DD Set Calibration Records for Bicarb Concentrate Reject Reason are captured + for reference. + + @param message: published data message + @return: none + """ + msg_list = [] + msg_list.append(('ack', DataTypes.BOOL)) + msg_list.append(('rr', DataTypes.U32)) + msg_list.append(('id', DataTypes.U32)) + + result = self.process_into_vars(decoder_list = msg_list, + message = message) + + if 'bicarb' not in self.calibration_records_rr: + self.calibration_records_rr['bicarb'] = {} + if result['id'] not in self.calibration_records_rr: + self.calibration_records_rr['bicarb'][result['id']] = {} + self.calibration_records_rr['bicarb'][result['id']]['ack'] = result['ack'] + self.calibration_records_rr['bicarb'][result['id']]['rr'] = result['rr'] + + self.calibration_set_rr_timestamp = timestamp + + + @publish(["msg_id_dd_nvm_set_cal_accel_sensor_response", "calibration_records_rr", "calibration_set_rr_timestamp"]) + def _handler_cal_accel_rr_sync(self, message, timestamp = 0.0): + """ + Handles published DD Set Calibration Records for Accelerometer Sensor Reject Reason data messages.DD Set Calibration Records for Accelerometer Sensor Reject Reason are captured + for reference. + + @param message: published data message + @return: none + """ + msg_list = [] + msg_list.append(('ack', DataTypes.BOOL)) + msg_list.append(('rr', DataTypes.U32)) + + result = self.process_into_vars(decoder_list = msg_list, + message = message) + + if 'accel' not in self.calibration_records_rr: + self.calibration_records_rr['accel'] = {} + self.calibration_records_rr['accel']['ack'] = result['ack'] + self.calibration_records_rr['accel']['rr'] = result['rr'] + + self.calibration_set_rr_timestamp = timestamp + + + @publish(["msg_id_dd_nvm_set_cal_blood_leak_sensor_response", "calibration_records_rr", "calibration_set_rr_timestamp"]) + def _handler_cal_blood_leak_rr_sync(self, message, timestamp = 0.0): + """ + Handles published DD Set Calibration Records for Blood Leak Sensor Reject Reason data messages.DD Set Calibration Records for Blood Leak Sensor Reject Reason are captured + for reference. + + @param message: published data message + @return: none + """ + msg_list = [] + msg_list.append(('ack', DataTypes.BOOL)) + msg_list.append(('rr', DataTypes.U32)) + + result = self.process_into_vars(decoder_list = msg_list, + message = message) + + if 'blood_leak' not in self.calibration_records_rr: + self.calibration_records_rr['blood_leak'] = {} + self.calibration_records_rr['blood_leak']['ack'] = result['ack'] + self.calibration_records_rr['blood_leak']['rr'] = result['rr'] + + self.calibration_set_rr_timestamp = timestamp + + # ================================================= Go to Service Mode Method ================================================= def cmd_initiate_service_mode(self) -> int: """