analogdevicesinc / alice

Active Learning Interface for Circuits and Electronics
Other
16 stars 4 forks source link

Software is unstable and unreliable #4

Closed kaamil1984 closed 2 years ago

kaamil1984 commented 4 years ago

I have installed Alice on Windows 10 machine and I found it very unreliable and unstable software.

I have latest firmware (updated by PixelPulse). I tried with latest 1.3 and older releases. I have even tried to change Python versions (2.7.8 and 2.7.17).

Alice DeskTop is totally useless. I wasted 2 days trying to make it work normally. I can't even describe what is the issue, because everything is issue in Alice.

Are there any plans to improve/finish this software?

Or maybe I should try to install it on Linux, or try some older firmware?

It's a pity that such piece of great Analog Devices hardware has such bad software that feels like alpha or beta version after few years on the market.

The only thing I learned with ADALM1000 Active Learning Module is that I should not buy educational products from Analog Devices.

peterbuxton commented 4 years ago

I got Alice to work very nicely on Linux with Python 2.7.11 and it was easy to do once I understood the sequence. I by choice use a Linux distro that is different from Ubuntu (which seems to be the "norm" these days). Once set up, the Alice desktop and modules being Python scripts, can easily be viewed to understand their operation more. (I also successfully installed PixelPulse2 on Linux.)

Linux already has everything that Alice needs after manually installing libsmu first per the GitHub libsmu page. I haven't installed Alice on Windows because I don't like the way Windows hides details for apps behind a GUI. With Linux, I can use the command line to see all details regarding installations and operations of things, and actually fix problems instead of wondering what went wrong.

My "problem" now is that I'm overwhelmed by the sheer volume of material provided on the Analog Devices Wiki for the ADALM1000. I also had problems installing things at first, but with the generous help from Doug Mercer, I now understand and have everything operating. While parts of the website could use some organization, I think the AD Educational program is excellent. I'm amazed at how much work has gone into creating it all for the benefit of students.

This GitHub page doesn't seem like the proper place for a forum, but regarding Alice installation on Linux, I can attempt to answer a question if it would help.

-Peter

damercer commented 4 years ago

It is troubling to hear that you seem to have some difficulties with the software. In general we see users being able to understand and use the many features in the suite of tools (virtual instruments) in educational (and often hobbyist) situations without any difficulty. I'm sorry that you seem to be so frustrated and totally understand but your apparent attitude in this post is not helpful.

It would be difficult to "finish the software" as you request without at least a little feedback as to what you think does not work, is incomplete or missing.

If you would care to enumerate even one issue you had that maybe we can address then maybe we can better understand how to help you.

kaamil1984 commented 4 years ago

Sorry about my attitude when I was writing first post. I was in beta version. Now I feel like "RTM".

So first of all - welcome page for ADALM1000 says, that I can install Alice 1.1 or 1.2. I decided to install 1.2 version. I have read which version of libsmu I have to install for 1.2. I also wondered is there any reason for publishing two versions instead of just one.

image

I clicked 1.2 and 1.3 version appeared. Feels messy, but... OK.

I tried to start Alice DeskTop 1.3 with Python 2.7 64-bit. I had also 3.7.5 installed at that moment.

image

image

I removed all Python versions and libsmu from my computer and I installed Python 2.7.17 32-bit and libsmu.

After I try to start Alice - it appears in taskbar for a moment and disappears. When I start other tools - like Meter-Source - window appear, but it freezes when I click start. Console window says:

image

kaamil1984 commented 4 years ago

Now I have installed Alice 1.2 with libsmu-1.0.0-setup-x86.exe, because after trying many combinations this one seem to work. Alice DeskTop started. I connected channel B output to channel A input, I turned on generator to make some signal.

Everything was fine until I changed time base to 200mS/Div, because I want to generate 1Hz signal and see some slow stuff. Program became non-responsive, but I could go back to short time base. I figured out, that maybe sample rate of 100000 (whatever unit it is, I assume it is sample per second) is too high for such long time base. I went to options and I changed sample rate to 10000. After I clicked "Run" (with 5mS/Div it stopped responding forever.

Now I noticed that when I'm changing sample rate - console says:

image

But interface:

image

kaamil1984 commented 4 years ago

I decided to install older Alice 1.1. It requires libsmu 0.89. I went to GitHub and there is no such tag.

image

But I was desperate and I tried to "install manually" from this link:

image

This is what I got:

image

So I tried to use this link with "latest release":

image

This is not latest release. This is 1.0 version.

Lets try 0.87 libsmu with Alice 1.1. But where is the link? There is no binary version. I give up. Is this programming, electronics class? :)

I hope I didn't offended anyone and my attitude was good enough and I provided enough information to fix something.

I could create another ticket and describe sample rate change and long time base issues in Alice 1.2 with libsmu-1.0.0-setup-x86.exe, but I don't know if it makes sense to create tickets related with old version. I have no idea if it appears in current 1.3 version because I didn't managed to make it work and I'm to lazy to read closed issues to check if it was solved.

damercer commented 4 years ago

The current version of ALICE is 1.3. The older versions are still here on Github for legacy purposes.

Sorry if the Wiki page has fallen a little behind. We are all rather busy with day jobs.

When using a Windows computer it is recommended that you use the executable installer. See response to the other issue you posted.

That version has been extensively tested internally on multiple Windows 10 computers as well as on older windows 7 and 8 machines. Also most all external users (other than you, but you may be mixing libraries ) have not reported any issues.

emi-netlist commented 2 years ago

ALICE 1.3 on Ubuntu 20.04 or Windows freezes randomly when changing some parameters like from the AWG(while data aquisition is enabled). I cant be the only one, am I? I wanted to try other versions but apparently python2.x not compatible one to one with python3 (I dont know nothing about python, I dont receive any error in terminal, I dont know what more information can I provide, it only freezes, and cpu which normally stays around 22% on the python3 process drops to around 3%).

damercer commented 2 years ago

First off ALICE is extensively tested on Windows 10 running from the source code using both Python 2.7 and Python 3.7/8 and we have not seen any strange behavior. While every attempt is made to catch conflicts in the settings while the acquisition loop is running there may be some special combination of changes that causes an issue. If you could be more specific as to exactly the steps you did before the crash then we might be able to reproduce it. When you do see strange behavior changing settings while the loop is running it is best practice to hit the Stop button to pause the loop while you reconfigure the settings.

For completeness can you confirm that you are using the very latest version of the software? Are you using the Windows executable version from the installer or running from the Python source? Same on Linux? The Linux installer is not as well tested and is generated using Ubuntu 18. The current version of the source is compatible with either Python 2.7 or Python 3.x as long as you have the proper version of the Libsmu/pysmu package installed.

emi-netlist commented 2 years ago

I am using ALICE 1.3.12 on Ubuntu 20.04 and I can reproduce this problem every time aquisition is running and I am changing the mode of AWG Ch A to Split I/O.

On Linux I am running ALICE from the python source with python3. I thought I messed up the installation on Linux, but I have a VM with Windows 7 so I tried there too with the windows executable install, and I got the same issues.

And yes, if aquisition is disabled in ALICE, I can change the mode and it doesn't freeze.

damercer commented 2 years ago

I am unable to reproduce your issue. Running the latest source code (uploaded to GitHub a couple of weeks ago) on Windows 10 Python 3.8. I can toggle the Split I/O check box on either CH A or CH B while the channel is in either SVMI or Hi-Z modes. Also with or without the Sync AWG check box checked. The Awg's waveform was Sine and Trapezoid. I only had the scope screen open. Do you have any of the other instruments open and enabled at the time?

Can't think of any other tests to do. Maybe you can post your alice-last-config.cfg file so I can see what state the software settings were in?

Not sure what to suggest since there seems to be nothing going wrong with the code I can fix. In the mean time just be sure to hit Stop between changes.

emi-netlist commented 2 years ago

Thank you for taking the time.

When I start ALICE I also get this in terminal:

/usr/local/lib/python3.8/dist-packages/numpy/core/fromnumeric.py:3474: RuntimeWarning: Mean of empty slice. return _methods._mean(a, axis=axis, dtype=dtype, /usr/local/lib/python3.8/dist-packages/numpy/core/_methods.py:189: RuntimeWarning: invalid value encountered in double_scalars ret = ret.dtype.type(ret / rcount)

alice-last-config.txt

damercer commented 2 years ago

That's normal. Do you get any error messages when it "freezes"?

damercer commented 2 years ago

Sorry but everything still works fine for me after loading your configuration file. What version of the hardware do you have Rev D or F? Which version of the firmware is it running? I can't see anything that would cause the software to freeze (on Windows at least). I can only access Linux through a VM so testing is difficult and slow.

emi-netlist commented 2 years ago

Yes when I was referring as it freezes I was actually trying to say that it becomes unresponsive, and I don't get any error messages. I have to force quit it(by closing the process from the console, as the ALICE window and everything within it even the close button doesn't respond), and start it again.

fw 2.17 hw F

emi-netlist commented 2 years ago

Hey, I tested it again on Windows 7 VM and it works fine (Split I/O with Sync AWG enabled or disabled with data aquisition on), but on Linux it breaks.

Correct me if I'm wrong, but I saw at least visually that in Windows the aquisition stops(I saw it on the scope that the waves stop refreshing) when I click on mode or shape, but in Linux this doesn't happen. When I click on mode or shape the waves are still refreshing. If I stop the aquisition manually in Linux, it doesn't crash.

damercer commented 2 years ago

When you have the Mode drop down open, to change the mode, SMVI, Split I/O etc. Python pauses to service the widget activity so the samples will not update while any drop down menu is open. At least on Windows. That is out of my control (not using multiple threads). When Python finishes servicing the Widget request the looping resumes, As I've said Linux behavior is not as well studied. It is assumed that Python works the same across all supported platforms.

damercer commented 2 years ago

The support team for Libsmu has just released a new version which might fix your problem: https://github.com/analogdevicesinc/libsmu/releases/tag/v1.0.4 This version (and future versions) requires Linux users to install the Python bindings (pysmu) using pip. The release / readme contains the instructions.

The libsmu support person has not tested this new release with ALICE yet to see if the freezing in Linux is fixed or not. But you might give it a try in the mean time.

emi-netlist commented 2 years ago

Thank you, now it works. I haven't been able to replicate the freezing issue with libsmu 1.0.4

damercer commented 2 years ago

OK, will now close this issue.