code: def reset_device_channels(self):
          
          # clear boxes first
          self.ui.aochanBox.clear()
          devname = self.advanced_options['device_name']
          device_list = get_devices()
          if devname in device_list:
              cnames = get_ao_chans(devname)
              self.ui.aochanBox.addItems(cnames)
              cnames = get_ai_chans(devname)
              # filter list for channels that are present in current device
              self._aichans = [chan for chan in self._aichans if chan in cnames]
              self._aichan_details = {chan: deets for chan, deets in self._aichan_details.items() if chan in cnames}
          elif devname == '' and len(device_list) > 0:
              devname = device_list[0]
              cnames = get_ao_chans(devname)
              self.ui.aochanBox.addItems(cnames)
              self.advanced_options['device_name'] = devname
              self._aichans = []
              self._aichan_details = {}
          else:
              self._aichans = []
              self._aichan_details = {}
  
          self.ui.chanNumLbl.setText(str(len(self._aichans)))
          # remove all plots and re-add from new list
          self.display.removeResponsePlot(*self.display.responseNameList())
          self.display.addResponsePlot(*self._aichans)
          # update details on plots
          for name, deets in self._aichan_details.items():
              self.display.setThreshold(deets['threshold'], name)
              self.display.setRasterBounds(deets['raster_bounds'], name)
              self.display.setAbs(deets['abs'], name)
  
          # can't find a function in DAQmx that gets the trigger
          # channel names, so add manually
          self.ui.trigchanBox.addItems(['/'+devname+'/PFI0', '/'+devname+'/PFI1'])
docs: Updates the input channel selection boxes based on the current
          device name stored in this object