Index: dialin/dg/calibration_record.py =================================================================== diff -u -r89f9210ef5bf37a6812c4dc06aaa636dd47b9d72 -r47eb368c929e01fbff7d7749a822ee0efb467ea5 --- dialin/dg/calibration_record.py (.../calibration_record.py) (revision 89f9210ef5bf37a6812c4dc06aaa636dd47b9d72) +++ dialin/dg/calibration_record.py (.../calibration_record.py) (revision 47eb368c929e01fbff7d7749a822ee0efb467ea5) @@ -17,15 +17,17 @@ _RECORD_START_INDEX = 6 _RECORD_SPECS_BYTES = 12 + _DEFAULT_HIGH_ORDER_GAIN_VALUE = 0 _DEFAULT_GAIN_VALUE = 1 _DEFAULT_OFFSET_VALUE = 0 _DEFAULT_RATIO_VALUE = 1 _DEFAULT_VOLUME_VALUE = 0 - _DEFAULT_CONCENTRATE_VALUE = 1 - _DEFAULT_BICARB_VALUE = 1 + _DEFAULT_ACID_MIX_RATIO = (2.35618 / 100) + _DEFAULT_BICARB_MIX_RATIO = (4.06812 / 100) _DEFAULT_CALIBRATION_VALUE = 1 _DEFAULT_TIME_VALUE = 0 _DEFAULT_CRC_VALUE = 0 + _DEFAULT_FLUSH_LINES_VOLUME = 0.01 # Maximum allowed bytes that are allowed to be written to EEPROM in firmware # The padding size then is calculated to be divisions of 16 @@ -250,9 +252,10 @@ for i in hardware_names: - hardware[i] = {'fourth_order': [' bool: + """ + Handles resetting DG scheduled services record. + + @return: True if successful, False otherwise + """ + self._prepare_dg_scheduled_runs_record() + print(self.dg_scheduled_runs_record) + self.dg_scheduled_runs_record = self._utilities.reset_fw_record(self.dg_scheduled_runs_record) + status = self.cmd_set_dg_scheduled_runs_record(self.dg_scheduled_runs_record) + + return status + def cmd_request_dg_scheduled_runs_record(self) -> int: """ Handles getting DG scheduled runs record from firmware. @@ -127,7 +140,8 @@ # The end of scheduled runs record payload is from the start index + 12 bytes for the current message + total # messages + the length of scheduled runs record. The rest is the CAN messaging CRC and is not # needed. - end_of_data_index = self.SCHEDULED_RUNS_RECORD_START_INDEX + self.SCHEDULED_RECORD_SPECS_BYTES + self.received_msg_length + end_of_data_index = self.SCHEDULED_RUNS_RECORD_START_INDEX + self.SCHEDULED_RECORD_SPECS_BYTES + \ + self.received_msg_length # Get the scheduled runs data only self.cal_data = message['message'][self.SCHEDULED_RUNS_RECORD_START_INDEX:end_of_data_index] Index: dialin/dg/service_record.py =================================================================== diff -u -r89f9210ef5bf37a6812c4dc06aaa636dd47b9d72 -r47eb368c929e01fbff7d7749a822ee0efb467ea5 --- dialin/dg/service_record.py (.../service_record.py) (revision 89f9210ef5bf37a6812c4dc06aaa636dd47b9d72) +++ dialin/dg/service_record.py (.../service_record.py) (revision 47eb368c929e01fbff7d7749a822ee0efb467ea5) @@ -65,7 +65,7 @@ @return: True if successful, False otherwise """ self._prepare_dg_service_record() - self.dg_service_record = self._utilities.reset_fw_record(self.dg_service_record) + self.dg_service_record = self._utilities.reset_fw_system_service_record(self.dg_service_record) status = self.cmd_set_dg_service_record(self.dg_service_record) return status Index: dialin/dg/system_record.py =================================================================== diff -u -r89f9210ef5bf37a6812c4dc06aaa636dd47b9d72 -r47eb368c929e01fbff7d7749a822ee0efb467ea5 --- dialin/dg/system_record.py (.../system_record.py) (revision 89f9210ef5bf37a6812c4dc06aaa636dd47b9d72) +++ dialin/dg/system_record.py (.../system_record.py) (revision 47eb368c929e01fbff7d7749a822ee0efb467ea5) @@ -22,7 +22,6 @@ """ _RECORD_SPECS_BYTES = 12 - _DEFAULT_CHAR_VALUE = '-' _DEFAULT_MFG_LOCATION = MFGLocation.MFG_LOCATION_FACTORY.value _MAX_PN_BYTES = 10 _MAX_SN_BYTES = 15 @@ -230,10 +229,10 @@ """ groups_byte_size = 0 system_records = OrderedDict({'system_record': - {'top_level_pn': [' bool: + """ + Handles resetting HD calibration record. + + @return: True if successful, False otherwise + """ + self._prepare_hd_calibration_record() + self.hd_calibration_record = self._utilities.reset_fw_record(self.hd_calibration_record) + status = self.cmd_set_hd_calibration_record(self.hd_calibration_record) + + return status + def cmd_request_hd_calibration_record(self) -> int: """ Handles getting HD calibration_record record from firmware. @@ -173,7 +186,7 @@ self.logger.debug("Finished sending HD calibration record.") return True - def setup_base_calibration_record(self): + def _prepare_hd_calibration_record(self): """ Handles assembling the sub dictionaries of each hardware group to make the main HD calibration_record record. @@ -274,11 +287,11 @@ hardware = OrderedDict() for i in hardware_names: - hardware[i] = {'fourth_order': [' bool: + """ + Handles resetting HD service record. + + @return: True if successful, False otherwise + """ + self._prepare_hd_service_record() + print(self.hd_service_record) + self.hd_service_record = self._utilities.reset_fw_system_service_record(self.hd_service_record) + status = self.cmd_set_hd_service_record(self.hd_service_record) + + return status + def cmd_request_hd_service_record(self) -> int: """ Handles getting HD service record from firmware. @@ -216,6 +231,7 @@ service_records = OrderedDict({'service_record': {'service_location': [' bool: + """ + Handles resetting HD system record. + + @return: True if successful, False otherwise + """ + self._prepare_hd_system_record() + self.hd_system_record = self._utilities.reset_fw_system_service_record(self.hd_system_record) + status = self.cmd_set_hd_system_record(self.hd_system_record) + + return status + def cmd_request_hd_system_record(self) -> int: """ Handles getting HD calibration_record data from firmware. @@ -184,7 +195,7 @@ result = OrderedDict() groups_byte_size = 0 # create a list of the functions of the sub dictionaries - functions = [self._prepare_system_record()] + functions = [self._prepare_hd_system_record()] for function in functions: # Update the groups bytes size so far to be use to padding later @@ -210,18 +221,18 @@ return result - def _prepare_system_record(self): + def _prepare_hd_system_record(self): """ Handles creating the system record dictionary. @return: system record dictionary and the byte size of this group """ groups_byte_size = 0 system_records = OrderedDict({'system_record': - {'top_level_pn': [' self._MIN_PAYLOAD_BYTES_SPACE: Index: tests/peter/test_dg_records.py =================================================================== diff -u -r89f9210ef5bf37a6812c4dc06aaa636dd47b9d72 -r47eb368c929e01fbff7d7749a822ee0efb467ea5 --- tests/peter/test_dg_records.py (.../test_dg_records.py) (revision 89f9210ef5bf37a6812c4dc06aaa636dd47b9d72) +++ tests/peter/test_dg_records.py (.../test_dg_records.py) (revision 47eb368c929e01fbff7d7749a822ee0efb467ea5) @@ -166,38 +166,47 @@ while not observer.received: sleep(0.2) - # Get a snapshot of the current calibration record prior to modifying the dictionary with the latest values - previous_firmware_record = dg.calibration_record.dg_calibration_record + print(dg.calibration_record.dg_calibration_record) # Change the value(s) you are planning to change directly to the dictionary - dg.calibration_record.dg_calibration_record["pressure_sensors"]["ppi"]["fourth_order"][1] = 1.0 + dg.calibration_record.dg_calibration_record["pressure_sensors"]["ppi"]["fourth_order"][1] = 0.0 + dg.calibration_record.dg_calibration_record["pressure_sensors"]["ppi"]["gain"][1] = 1.0 dg.calibration_record.dg_calibration_record["pressure_sensors"]["ppi"]["cal_time"][1] = \ NVOpsUtils.get_current_time_in_epoch() dg.calibration_record.dg_calibration_record["pressure_sensors"]["ppi"]["crc"][1] = \ NVOpsUtils.get_group_record_crc(dg.calibration_record.dg_calibration_record["pressure_sensors"]["ppi"]) - - dg.calibration_record.dg_calibration_record["pressure_sensors"]["ppo"]["second_order"][1] = 2.0 + """ + dg.calibration_record.dg_calibration_record["pressure_sensors"]["ppo"]["second_order"][1] = 0.0 dg.calibration_record.dg_calibration_record["pressure_sensors"]["ppo"]["cal_time"][1] = \ NVOpsUtils.get_current_time_in_epoch() dg.calibration_record.dg_calibration_record["pressure_sensors"]["ppo"]["crc"][1] = \ - NVOpsUtils.get_group_record_crc(dg.calibration_record.dg_calibration_record["pressure_sensors"]["ppo"]) + NVOpsUtils.get_group_record_crc(dg.calibration_record.dg_calibration_record["pressure_sensors"]["ppo"]) + + dg.calibration_record.dg_calibration_record["load_cells"]["load_cell_a1"]["gain"][1] = 1.0 + dg.calibration_record.dg_calibration_record["load_cells"]["load_cell_a1"]["cal_time"][1] = \ + NVOpsUtils.get_current_time_in_epoch() + dg.calibration_record.dg_calibration_record["load_cells"]["load_cell_a1"]["crc"][1] = \ + NVOpsUtils.get_group_record_crc(dg.calibration_record.dg_calibration_record["load_cells"]["load_cell_a1"]) + """ dg.calibration_record.cmd_set_dg_calibration_record(dg.calibration_record.dg_calibration_record) - """ + + print(dg.calibration_record.dg_calibration_record) + record_old_formatted = pprint.pformat(dg.calibration_record.dg_calibration_record, indent=4) with open("/home/fw/projects/dialin/tests/peter/dg_cal_record.log", 'w') as f: f.write(record_old_formatted) - print(dg.calibration_record.dg_calibration_record) #subprocess.call("meld /home/fw/projects/dialin/tests/peter/dialin_test_record_old.log" # " /home/fw/projects/dialin/tests/peter/dialin_test_record_new.log", shell=True) - """ + def test_dg_reset_record(): dg = DG(log_level="DEBUG") if dg.cmd_log_in_to_dg(): #dg.calibration_record.cmd_reset_dg_calibration_record() + #dg.scheduled_runs_record.cmd_reset_dg_calibration_record() dg.system_record.cmd_reset_dg_system_record() #dg.service_record.cmd_reset_dg_service_record() @@ -230,7 +239,8 @@ while not observer.received: sleep(0.2) - dg.system_record.dg_system_record['system_record']['top_level_pn'][1] = 'abc-345' + dg.system_record.dg_system_record['system_record']['top_level_sn'][1] = 'abc-345' + dg.system_record.dg_system_record['system_record']['top_level_pn'][1] = '123' dg.system_record.dg_system_record['system_record']['crc'][1] = \ NVOpsUtils.get_group_record_crc(dg.system_record.dg_system_record['system_record']) Index: tests/peter/test_hd_records.py =================================================================== diff -u -r89f9210ef5bf37a6812c4dc06aaa636dd47b9d72 -r47eb368c929e01fbff7d7749a822ee0efb467ea5 --- tests/peter/test_hd_records.py (.../test_hd_records.py) (revision 89f9210ef5bf37a6812c4dc06aaa636dd47b9d72) +++ tests/peter/test_hd_records.py (.../test_hd_records.py) (revision 47eb368c929e01fbff7d7749a822ee0efb467ea5) @@ -21,7 +21,9 @@ print("Message: {0}".format(message)) self.received = message.get(self.prop, False) + def test_hd_calibration_record(): + hd = HD(log_level="DEBUG") if hd.cmd_log_in_to_hd(resend=False): observer = Observer("hd_calibration_record") @@ -30,18 +32,25 @@ while not observer.received: sleep(0.2) - hd.calibration_record.cmd_set_hd_calibration_record(hd.calibration_record.hd_calibration_record) - # store the old record after reading it from fw record_old_formatted = pprint.pformat(hd.calibration_record.hd_calibration_record, indent=4) - with open("/home/fw/projects/dialin/tests/peter/hd_cal_record_old.log", 'w') as f: + with open("/home/fw/projects/dialin/tests/peter/hd_cal_record.log", 'w') as f: f.write(record_old_formatted) - hd.calibration_record.hd_calibration_record["flow_sensors"]["fmb"]["third_order"][1] = 0.0 - hd.calibration_record.hd_calibration_record["flow_sensors"]["fmb"]["cal_time"][1] = \ + hd.calibration_record.hd_calibration_record["accelerometer_sensor"]["accelerometer"]["y_offset"][1] = 0.0 + hd.calibration_record.hd_calibration_record["accelerometer_sensor"]["accelerometer"]["cal_time"][1] = \ NVOpsUtils.get_current_time_in_epoch() - hd.calibration_record.hd_calibration_record["flow_sensors"]["fmb"]["crc"][1] = \ - NVOpsUtils.get_group_record_crc(hd.calibration_record.hd_calibration_record["flow_sensors"]["fmb"]) + hd.calibration_record.hd_calibration_record["accelerometer_sensor"]["accelerometer"]["crc"][1] = \ + NVOpsUtils.get_group_record_crc(hd.calibration_record.hd_calibration_record["accelerometer_sensor"]["accelerometer"]) + + hd.calibration_record.hd_calibration_record["heparin_force_sensor"]["heparin_force"]["fourth_order"][1] = 0.0 + hd.calibration_record.hd_calibration_record["heparin_force_sensor"]["heparin_force"]["third_order"][1] = 0.0 + hd.calibration_record.hd_calibration_record["heparin_force_sensor"]["heparin_force"]["second_order"][1] = 0.0 + hd.calibration_record.hd_calibration_record["heparin_force_sensor"]["heparin_force"]["cal_time"][1] = \ + NVOpsUtils.get_current_time_in_epoch() + hd.calibration_record.hd_calibration_record["heparin_force_sensor"]["heparin_force"]["crc"][1] = \ + NVOpsUtils.get_group_record_crc(hd.calibration_record.hd_calibration_record["heparin_force_sensor"]["heparin_force"]) + print(hd.calibration_record.hd_calibration_record) hd.calibration_record.cmd_set_hd_calibration_record(hd.calibration_record.hd_calibration_record) @@ -68,16 +77,15 @@ hd.service_record.cmd_set_hd_service_record(hd.service_record.hd_service_record) -def test_hd_reset_system_record(): +def test_hd_reset_record_record(): hd = HD(log_level="DEBUG") if hd.cmd_log_in_to_hd(resend=False): - hd.system_record.prepare_hd_system_record() - hd.system_record.hd_system_record["system_record"]["crc"][1] = \ - NVOpsUtils.get_group_record_crc(hd.system_record.hd_system_record["system_record"]) - print(hd.system_record.hd_system_record) - hd.system_record.cmd_set_hd_system_record(hd.system_record.hd_system_record) + hd.calibration_record.cmd_reset_hd_calibration_record() + hd.system_record.cmd_reset_hd_system_record() + hd.service_record.cmd_reset_hd_service_record() + def test_hd_system_record(): hd = HD(log_level="DEBUG") if hd.cmd_log_in_to_hd(resend=False): @@ -93,7 +101,7 @@ f.write(record_old_formatted) hd.system_record.hd_system_record["system_record"]["top_level_pn"][1] = "ASD-S1234" - hd.system_record.hd_system_record["system_record"]["top_level_sn"][1] = "3" + hd.system_record.hd_system_record["system_record"]["top_level_sn"][1] = "ASD-S1234" hd.system_record.hd_system_record["system_record"]["mfg_location"][1] = 9 hd.system_record.hd_system_record["system_record"]["crc"][1] = \ NVOpsUtils.get_group_record_crc(hd.system_record.hd_system_record["system_record"]) @@ -102,8 +110,8 @@ if __name__ == "__main__": - test_hd_reset_calibration_record() - #test_hd_calibration_record() + #test_hd_reset_record_record() + test_hd_calibration_record() # test_hd_service_record() #test_hd_reset_system_record() #test_hd_system_record()