Save profile, Load configuration from file

I want to make a universal single -line protocol analyzer, similar to Manchester, the protocol analysis part has been completed. The configuration information is shown in the figure below:


It works well, but it is necessary to fill in the configuration manually whenever switching the configuration, which is particularly troublesome.I need hundreds of different configurations, and now the software can only save one configuration.
I want to save the configuration information into the file (such as the JSON file). When using this analyzer, I can load the configuration information from the selected configuration file instead of manually input.I don’t know how to achieve the function of saving and loading configuration files.

1 Like

@578645671 I’ll likely need to discuss this with the software team here to see how we might want to solve this kind of use case in the future.

It works well, but it is necessary to fill in the configuration manually whenever switching the configuration, which is particularly troublesome.

Can you describe your workflow in more detail? For example, do you change your settings by specifying a .json config file, take a data recording, then repeat that process over and over again for various configs? I would also be curious to know what kind of captures you are taking, as well as what configuration changes you make from capture to capture.

Based on the information you shared so far, it sounds like we’ll want to implement the ability to adjust analyzer settings via automation.

Thanks for your response.
I need to decode the car remote and save the configuration of different models in the JSON file. These configurations are all defined by myself.When using, i can select different JSON configuration files according to the model, and then the configuration on the interface will be switched to the configuration information saved in the current JSON file, instead of manually entering each configuration.Of course, it is necessary to save the configuration on the current interface to the JSON file.

@578645671 Thanks for the added information! That makes sense. I wanted to ensure that I understand your request completely, and therefore, have some follow up questions for you.

  1. The settings window image you provided shows a Json config selector. Is this working right now? For example, when selecting bsj.json, do the rest of the settings update accordingly? Right now, what does the Json config setting do exactly?
    Screen Shot 2022-05-06 at 8.23.02 PM

  2. In case the above feature works, can you explain what specific feature or help you are requesting?

  3. Otherwise, if the feature described in 1) above currently doesn’t work, I’m assuming you are requesting help with implementing it, is that correct?

Looking forward to hearing back and getting clarification on the above!

Thanks for your response.
The bsj.json is not working right now.when selecting bsj.json, th settings do not update accordingly.Now this JSON interface is just displayed there.Other configuration information can be used normally.

My request is :

  1. Save the settings in the JSON file.
  2. When switching the json file, the settings on the interface will be updated accordingly.

Thanks for clarifying that! I’ll discuss this with the team here to see if we might have a solution.

Are you also interested in a feature to save the current settings to a JSON file?

The software has a feature called “Presets” which allows you to save all of the current capture settings, including analyzer settings, to a preset. This preset by default lives in the application, but it can be exported to JSON and re-imported back into the application. Also, it is device-type specific, so if you save a preset with Logic 8, it can’t be applied to a session using Logic Pro 8.
This also includes all other application settings - sample rates, exactly which analyzers are added, etc, but it might help.

If that’s OK, what you could do is save a preset, export it, and then make many, many copies of it. The contents are just JSON, and if you search for the name of your analyzer in the JSON, you will quickly find all the settings, which you can edit.

Second, we do have a feature in the API right now to make it easy for users to browse for a file in the analyzer settings dialog. Take a look here:

If you use a text interface for JSON config, you can set the text type to FilePath. That will cause the settings dialog to have a “browse” button.

However, I’m not 100% sure how well this will work. You should try over-writing the settings & interfaces from the JSON data when “SetSettingsFromInterfaces” is called, and the analyzer will use those loaded settings, but I don’t know if the UI will actually update to show those new settings if the user re-opens the settings dialog. Please let us know if they don’t update.

Lastly, I really like the idea of having something like presets, but it’s just for a specific analyzer. Like the ability to click “save these analyzer settings as a preset” right on the analyzer settings dialog, and let you open existing saved presets specifically for that analyzer from a dropdown. (or, back this with json files) basically the idea that a particular feature can save/load presets, not just the whole session.

Please leave feature suggestions here, that helps us track user demand:
https://ideas.saleae.com/

Thanks for your response.
SetTextType(FilePath),But how do I use the file path in DLL?I don’t know when this path has changed.
Can you add a parameter of a callback function to the AddInterface() function? If the settings on the GUI changes, the callback function can be called.

Every time the user presses “save” in the UI, the values are copied into the interface objects that were registered, and then we call your SetSettingsFromInterfaces method. That’s when you should try to open the file that was set in the text interface. If you have any errors when loading or parsing the file, you should call SetErrorText with an error message, and return false.