docs: def update_parameters(self, treeWidget):
          """
          updates the internal dictionaries for scripts and instruments with values from the respective trees
  
          treeWidget: the tree from which to update
  
          """
  
          if treeWidget == self.tree_settings:
  
              item = treeWidget.currentItem()
  
  
  
              instrument, path_to_instrument = item.get_instrument()
  
              # build nested dictionary to update instrument
              dictator = item.value
              for element in path_to_instrument:
                  dictator = {element: dictator}
  
              # get old value from instrument
              old_value = instrument.settings
              path_to_instrument.reverse()
              for element in path_to_instrument:
                  old_value = old_value[element]
  
              # send new value from tree to instrument
              instrument.update(dictator)
  
              new_value = item.value
              if new_value is not old_value:
                  msg = "changed parameter {:s} from {:s} to {:s} on {:s}".format(item.name, str(old_value),
                                                                                  str(new_value), instrument.name)
              else:
                  msg = "did not change parameter {:s} on {:s}".format(item.name, instrument.name)
  
              self.log(msg)
          elif treeWidget == self.tree_scripts:
  
              item = treeWidget.currentItem()
              script, path_to_script, _ = item.get_script()
  
              # check if changes value is from an instrument
              instrument, path_to_instrument = item.get_instrument()
              if instrument is not None:
  
                  new_value = item.value
  
  
                  msg = "changed parameter {:s} to {:s} in {:s}".format(item.name,
                                                                                  str(new_value),
                                                                                  script.name)
              else:
                  new_value = item.value
                  msg = "changed parameter {:s} to {:s} in {:s}".format(item.name,
                                                                              str(new_value),
                                                                              script.name)
              self.log(msg)