def reset_device_channels(self):
        """Updates the input channel selection boxes based on the current
        device name stored in this object"""
        # 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'])
Updates the input channel selection boxes based on the current
        device name stored in this object