import json import os """ Handles the DoA DSP settings Project: Kraken DoA DSP Author : Tamas Peto """ root_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) settings_file_path = os.path.join(root_path,"settings.json") settings_found =False if os.path.exists(settings_file_path): settings_found = True with open(settings_file_path, 'r') as myfile: settings=json.loads(myfile.read()) # DAQ Configuration center_freq = settings.get("center_freq", 100.0) uniform_gain = settings.get("uniform_gain", 1.4) data_interface = settings.get("data_interface", "eth") default_ip = settings.get("default_ip", "0.0.0.0") # PR Paramaters en_pr = settings.get("en_pr", 0) clutter_cancel_algo = settings.get("clutter_cancel_algo", "Wiener MRE") max_bistatic_range = settings.get("max_bistatic_range", 128) max_doppler = settings.get("max_doppler", 256) en_pr_persist = settings.get("en_pr_persist", 1) pr_persist_decay = settings.get("pr_persist_decay", 0.99) pr_dynrange_min = settings.get("pr_dynrange_min", -20) pr_dynrange_max = settings.get("pr_dynrange_max", 100) #ant_arrangement = settings.get("ant_arrangement", "ULA") #ant_spacing = settings.get("ant_spacing", 0.5) #doa_method = settings.get("doa_method", "MUSIC") #en_fbavg = settings.get("en_fbavg", 0) #compass_offset = settings.get("compass_offset", 0) #doa_fig_type = settings.get("doa_fig_type", "Linear plot") # DSP misc #en_squelch = settings.get("en_squelch", 0) #squelch_threshold_dB = settings.get("squelch_threshold_dB", 0.0) # Web Interface en_hw_check = settings.get("en_hw_check", 0) en_advanced_daq_cfg = settings.get("en_advanced_daq_cfg", 0) logging_level = settings.get("logging_level", 0) disable_tooltips = settings.get("disable_tooltips", 0) # Check and correct if needed #if not ant_arrangement in ["ULA", "UCA"]: # ant_arrangement="ULA" #doa_method_dict = {"Bartlett":0, "Capon":1, "MEM":2, "MUSIC":3} #if not doa_method in doa_method_dict: # doa_method = "MUSIC" #doa_fig_type_dict = {"Linear plot":0, "Polar plot":1, "Compass":2} #if not doa_fig_type in doa_fig_type_dict: # doa_gfig_type="Linear plot" def write(data = None): if data is None: data = {} # DAQ Configuration data["center_freq"] = center_freq data["uniform_gain"] = uniform_gain data["data_interface"] = data_interface data["default_ip"] = default_ip # DOA Estimation data["en_pr"] = en_pr data["clutter_cancel_algo"] = clutter_cancel_algo data["max_bistatic_range"] = max_bistatic_range data["max_doppler"] = max_doppler data["en_pr_persist"] = en_pr_persist data["pr_persist_decay"] = pr_persist_decay data["pr_dynrange_min"] = pr_dynrange_min data["pr_dynrange_max"] = pr_dynrange_max #data["ant_arrangement"] = ant_arrangement #data["ant_spacing"] = ant_spacing #data["doa_method"] = doa_method #data["en_fbavg"] = en_fbavg #data["compass_offset"] = compass_offset #data["doa_fig_tpye"] = doa_fig_type # DSP misc #data["en_squelch"] = en_squelch #data["squelch_threshold_dB"] = squelch_threshold_dB # Web Interface data["en_hw_check"] = en_hw_check data["en_advanced_daq_cfg"] = en_advanced_daq_cfg data["logging_level"] = logging_level data["disable_tooltips"] = disable_tooltips with open(settings_file_path, 'w') as outfile: json.dump(data, outfile)