I have been struggling with the strange behaviour of the configuration
files in /usr/local/etc/gnuradio/conf.d
This is the place where the following files with gnuradio user
gnuradio-core.conf gr-audio-jack.conf gr-wxgui.conf
WHen trying some settings out, I backuped the original file
gr-wxgui.conf to gr-wxgui.conf.orig and changed settings in
Whatever I filled in, the old values where still used.
It took me a while to find out that the filenames aren’t even looked at.
They are all read in by gnuradio/gr/prefs.py with the following code:
dir = _sys_prefs_dirname()
fnames = os.listdir(dir)
except (IOError, OSError):
return [os.path.join(dir, f) for f in fnames]
def _read_files(self): filenames = self._sys_prefs_filenames() filenames.append(_user_prefs_filename()) #print "filenames: ", filenames self.cp.read(filenames)
What this comes down to that ALL files in conf.d are read in in
The last file read in overrides all values from the previous files.
I don’t know if this is documented somewhere, but it is something to be
Don’t make backup copies in conf.d
But that is not all.
I had already found out previously that the inline comments in the pref
files prevent the settings from being read.
For example in gr-wxgui.conf is:
style = auto # ‘gl’, ‘nongl’, or ‘auto’
fft_rate = 10 # fftsink and waterfallsink
frame_decim = 1 # scopesink
The value the code gets for fft_rate is then:
“10 # fftsink and waterfallsink”
This gives an error because the code expects only a number. 10
Because of the error the build-in default of 15 will still be used.
What would work is the following:
#style = auto #‘gl’, ‘nongl’, or ‘auto’
#fft_rate = 15 #fftsink and waterfallsink
#frame_decim = 1 # scopesink
style = auto
fft_rate = 10
frame_decim = 1
The uncommented lines before [wxgui] function only as documentation
The lines after [wxgui] are the actual settings, no #comments allowed.
The same problems are in gr-audio-alsa.conf and maybe others