gusmanb / logicanalyzer

24 channel, 100Msps logic analyzer hardware and software
GNU General Public License v3.0
1.69k stars 206 forks source link

Some LogicAnalyser problems/suggestions #63

Closed bablokb closed 1 year ago

bablokb commented 1 year ago

The LogicAnalyser does not keep the configured state:

on recapture, it looses the setting "samples in screen". What is more annoying is that it also looses the information about the protocol analyzer. Having to tell the program for every capture that I want to do an I2C-analysis and having to redefine the SDA/SCL channels is cumbersome.

It would be great if this would be kept as part of the configuration. Some more things on the whishlist:

Another note: the visual design does not seem to be very ergonomic (very low contrasts of controls). In fact in my first experiments I missed the scrollbar on the bottom, because I could not identify it. But maybe this is Linux specific.

gusmanb commented 1 year ago

Hi.

Thanks for the suggestions.

I have implemented some changes that may mitigate your problems.

First, the samples in screen will now be preserved whenever you use the "Repeat last capture", in case of a new capture or restarting the program it will still reset the samples in screen to the calculated value based in the samples captured.

Next, I have also added a new "Repeat last analysis" menu entry, so once you have analyzed for the first time a capture you will be able to repeat the same analysis with a single click. This is also only stored per session and will not be persisted. Beware that the analyzers are based on the channel index, they don't use at all the channel names, those are purely aesthetic for the user to distinguish the signals, so if you capture the channels in a different position the analysis will still use the old indexes even if you change the channel names.

Also, the config files should now be stored in the application folder ignoring the current path.

Finally I have made the horizontal scrollbar always visible to make it easier to be seen.

Here is the new version, could you test it in Linux and confirm that it works correctly? Right now I don't have any Linux machine around and I have tested it only in Windows.

https://mega.nz/file/DHpXyTZb#y1SybBT0ypeOQboa94v-n3ugwQzxL5LGhxQQPEuOwQs

You will need to copy the "analyzers" folder from the distribution package.

Cheers.

bablokb commented 1 year ago

Thanks! I downloaded it already and will test it.

BTW: I just finished a review for this tool for the German magazine "Raspberry-Pi-Geek". It should be in print in about two months, unless they move it to a later issue.

bablokb commented 1 year ago

I tested the new version:

Regarding the configuration files: AppConfig.json is still written to the current directory. And the program tries to write cpSettingsSerial.json to the application folder. Which is owned by root. So this fails and the program dumps. Separation of programs and (user) data is not specific to Linux, you would also have the same problem running Windows if the software is cleanly installed in "C:\Program Files".

One option would be to provide a runtime option (e.g. -c dir) for the configuration files. I can imagine that it makes sense to store multiple versions for different settings. If -c is not specified, default to $Home/.config/LogicAnalyzer or something below %appdata% on Windows (no idea about Apple, but they will also have a default dir).

Thanks for your work on this, the first two items already save a lot of clicking and are very valuable!

gusmanb commented 1 year ago

Hi.

Thanks for testing.

I was trying to preserve all the files in the same folder as the idea was to have a portable app (there is no installer and the application is a self-contained one, it does not need you to install nothing, not even .net framework), that's why I tried to write to the application folder, in this way you could have the app in (for example) an USB stick and use it in different machines. Also, I made a mistake saving the appconfig and it was not trying to store it in the new folder.

In any case, I have changed it, now it uses the appData folder to store the config files (in linux it will store it in $home/.config/LogicAnalyzer).

Here is the link to the new version.

https://mega.nz/file/XbxTVBqR#C3rflcrBzIPV_klC7UkzLyFc05zGXMEMcSDJxD93L6A

Cheers!

bablokb commented 1 year ago

Hi, thanks. I will test this on Monday.

bablokb commented 1 year ago

Perfect! Thanks!

gusmanb commented 1 year ago

Excellent, I will release the changes this weekend in a new version, also I will port the config changes to the CLI app.

Cheers!

gusmanb commented 11 months ago

@bablokb FYI, I have added shortcuts to navigate the samples with keyboard and also a preview of the full captured data that pops up when you hover the scroll bar to ease the navigation. More info here

Cheers!

bablokb commented 11 months ago

Great addition, this really helps to gain an initial overview.