Index: dialin/dg/calibration_record.py =================================================================== diff -u -r4ae44d3a14162f866419d28db99864f790e3512e -r71384b6770715e17267915d6694d6c84a6efbf14 --- dialin/dg/calibration_record.py (.../calibration_record.py) (revision 4ae44d3a14162f866419d28db99864f790e3512e) +++ dialin/dg/calibration_record.py (.../calibration_record.py) (revision 71384b6770715e17267915d6694d6c84a6efbf14) @@ -239,7 +239,7 @@ """ self.logger.debug("Received a complete dg calibration record.") - def cmd_set_dg_calibration_excel_to_fw(self, report_address: str): + def cmd_set_dg_calibration_excel_to_fw(self, report_address: str) -> bool: """ Handles setting the calibration data that is in an excel report to the firmware. @@ -259,7 +259,8 @@ self._utilities.write_excel_record_to_fw_record(self.dg_calibration_record, report_address, self._utilities.CAL_RECORD_TAB_NAME) - self.cmd_set_dg_calibration_record(self.dg_calibration_record) + ret = self.cmd_set_dg_calibration_record(self.dg_calibration_record) + return ret def cmd_set_dg_calibration_record(self, previous_record: OrderedDict) -> bool: """ @@ -288,16 +289,17 @@ payload=payload) received_message = self.can_interface.send(message) - transfer_status = received_message['message'][6] # If there is no content... if received_message is None: - self.logger.debug("Timeout!!!!") - return False + self.logger.warning("DG ACK not received!") + continue elif transfer_status == 0: self.logger.debug("Sending DG calibration record failed") return False + transfer_status = received_message['message'][6] + if transfer_status == 1: self.logger.debug("Finished sending DG calibration record.") return True Index: dialin/dg/service_record.py =================================================================== diff -u -r4ae44d3a14162f866419d28db99864f790e3512e -r71384b6770715e17267915d6694d6c84a6efbf14 --- dialin/dg/service_record.py (.../service_record.py) (revision 4ae44d3a14162f866419d28db99864f790e3512e) +++ dialin/dg/service_record.py (.../service_record.py) (revision 71384b6770715e17267915d6694d6c84a6efbf14) @@ -206,6 +206,7 @@ @param dg_service_record: (OrderedDict) the dg service record to be sent @return: True upon success, False otherwise """ + transfer_status = 1 record_packets = self._utilities.prepare_record_to_send_to_fw(dg_service_record) self.logger.debug('Setting DG service record') @@ -227,12 +228,18 @@ # If there is no content... if received_message is None: - self.logger.debug("Timeout!!!!") + self.logger.warning("DG ACK not received!") + continue + elif transfer_status == 0: + self.logger.debug("Sending DG service record failed") return False - self.logger.debug("Finished sending DG service record.") - return True + transfer_status = received_message['message'][6] + if transfer_status == 1: + self.logger.debug("Finished sending DG service record.") + return True + def _prepare_dg_service_record(self): """ Handles assembling the sub dictionaries of each group to make a blank dg service record. @@ -287,7 +294,7 @@ return service_records, groups_byte_size - def cmd_set_dg_service_record_excel_to_fw(self, report_address: str): + def cmd_set_dg_service_record_excel_to_fw(self, report_address: str) -> bool: """ Handles setting the service record data that is in an excel report to the firmware. @@ -306,7 +313,8 @@ self._utilities.write_excel_record_to_fw_record(self.dg_service_record, report_address, self._utilities.SERVICE_RECORD_TAB_NAME) - self.cmd_set_dg_service_record(self.dg_service_record) + ret = self.cmd_set_dg_service_record(self.dg_service_record) + return ret def cmd_get_dg_service_record(self, report_address: str = None): """ Index: dialin/dg/system_record.py =================================================================== diff -u -r4ae44d3a14162f866419d28db99864f790e3512e -r71384b6770715e17267915d6694d6c84a6efbf14 --- dialin/dg/system_record.py (.../system_record.py) (revision 4ae44d3a14162f866419d28db99864f790e3512e) +++ dialin/dg/system_record.py (.../system_record.py) (revision 71384b6770715e17267915d6694d6c84a6efbf14) @@ -237,7 +237,7 @@ """ self.logger.debug("Received a complete dg system record.") - def cmd_set_dg_system_record_excel_to_fw(self, report_address: str): + def cmd_set_dg_system_record_excel_to_fw(self, report_address: str) -> bool: """ Handles setting the system data that is in an excel report to the firmware. @@ -257,7 +257,8 @@ self._utilities.write_excel_record_to_fw_record(self.dg_system_record, report_address, self._utilities.SYSTEM_RECORD_TAB_NAME) - self.cmd_set_dg_system_record(self.dg_system_record) + ret =self.cmd_set_dg_system_record(self.dg_system_record) + return ret def cmd_set_dg_system_record(self, dg_system_record: OrderedDict) -> bool: """ @@ -266,6 +267,7 @@ @param dg_system_record: (OrderedDict) the dg system record to be sent @return: True upon success, False otherwise """ + transfer_status = 1 record_packets = self._utilities.prepare_record_to_send_to_fw(dg_system_record) self.logger.debug('Setting DG system record') @@ -287,12 +289,18 @@ # If there is no content... if received_message is None: - self.logger.debug("Timeout!!!!") + self.logger.warning("DG ACK not received!") + continue + elif transfer_status == 0: + self.logger.debug("Sending DG system record failed") return False - self.logger.debug("Finished sending DG system record.") - return True + transfer_status = received_message['message'][6] + if transfer_status == 1: + self.logger.debug("Finished sending DG system record.") + return True + def _prepare_dg_system_record(self): """ Handles assembling the sub dictionaries of each group to make the main DG system record. Index: dialin/dg/usage_info_record.py =================================================================== diff -u -r4ae44d3a14162f866419d28db99864f790e3512e -r71384b6770715e17267915d6694d6c84a6efbf14 --- dialin/dg/usage_info_record.py (.../usage_info_record.py) (revision 4ae44d3a14162f866419d28db99864f790e3512e) +++ dialin/dg/usage_info_record.py (.../usage_info_record.py) (revision 71384b6770715e17267915d6694d6c84a6efbf14) @@ -194,6 +194,7 @@ @return: True upon success, False otherwise """ + transfer_status = 1 record_packets = self._utilities.prepare_record_to_send_to_fw(previous_record) self.logger.debug('Setting DG usage information record') @@ -215,12 +216,18 @@ # If there is no content... if received_message is None: - self.logger.debug("Timeout!!!!") + self.logger.warning("DG ACK not received!") + continue + elif transfer_status == 0: + self.logger.debug("Sending DG usage info record failed") return False - self.logger.debug("Finished sending DG usage information record.") - return True + transfer_status = received_message['message'][6] + if transfer_status == 1: + self.logger.debug("Finished sending DG usage info record.") + return True + def _prepare_dg_usage_info_record(self) -> OrderedDict: """ Handles assembling the sub dictionaries of eDG usage information. @@ -321,7 +328,7 @@ return status - def cmd_set_dg_usage_info_excel_to_fw(self, report_address: str): + def cmd_set_dg_usage_info_excel_to_fw(self, report_address: str) -> bool: """ Handles setting the usage info data that is in an excel report to the firmware. @@ -340,4 +347,5 @@ self._utilities.write_excel_record_to_fw_record(self.dg_usage_info_record, report_address, self._utilities.USAGE_INFO_RECORD_TAB_NAME) - self._cmd_set_dg_usage_info_record(self.dg_usage_info_record) + ret = self._cmd_set_dg_usage_info_record(self.dg_usage_info_record) + return ret