Post Go back to editing

SensorPal Crashing

Category: Software
Product Number: EVAL AD9540 ELCZ with ADICUP3029
Software Version: 2.5.2.5

A student researcher and I have downloaded SensorPal to use with a 5940 ELCZ evaluation board. As we are testing the software and board, the SensorPal program frequently crashes (suddenly closes). When this happens, it is while we are trying to move a tool into the workspace or adjust measurement settings. 

This is happening on two different computers. We downloaded SensorPal on 2022 May 23. The version is 2.5.2.5 which seems to be the most recent. 

If anyone has any tips or suggestions, please let us know. Thanks!

Parents
  • I'm getting this error as well.

    Win10 ver21H1 64bit i7-3820 16GB ram, all other applications stopped. Not virtualised, bare metal

    .net framework 528372 (Windows 10 May 2020 Update and Windows 10 October 2020 Update and Windows 10 May 2021 Update)

    sensor pal v 2.5.2.6

    EVAL-AD5941BATZ plugged into a ADICUP3029.

    Managed to load firmware into the ADICUP3029

    I can remove the default measurement technique, add in any other EXCEPT battery impedance, and it's happy. Drag in the Battery Impedance technique, app crashes.

    I've run with admin rights, no change

    restarted system, no change. 

    reinstalled sensorpal, no change

    run MS's .net repair application no change

    Windows event viewer captures the following two errors:

    Application: SensorPal.exe
    Framework Version: v4.0.30319
    Description: The process was terminated due to an unhandled exception.
    Exception Info: System.IO.FileNotFoundException
    at System.IO.__Error.WinIOError(Int32, System.String)
    at System.IO.FileStream.Init(System.String, System.IO.FileMode, System.IO.FileAccess, Int32, Boolean, System.IO.FileShare, Int32, System.IO.FileOptions, SECURITY_ATTRIBUTES, System.String, Boolean, Boolean, Boolean)
    at System.IO.FileStream..ctor(System.String, System.IO.FileMode, System.IO.FileAccess, System.IO.FileShare, Int32, System.IO.FileOptions, System.String, Boolean)
    at System.Net.FileWebStream..ctor(System.Net.FileWebRequest, System.String, System.IO.FileMode, System.IO.FileAccess, System.IO.FileShare, Int32, Boolean)
    at System.Net.FileWebResponse..ctor(System.Net.FileWebRequest, System.Uri, System.IO.FileAccess, Boolean)

    Exception Info: System.Net.WebException
    at System.Net.FileWebResponse..ctor(System.Net.FileWebRequest, System.Uri, System.IO.FileAccess, Boolean)
    at System.Net.FileWebRequest.GetResponseCallback(System.Object)

    Exception Info: System.Net.WebException
    at System.Net.FileWebRequest.EndGetResponse(System.IAsyncResult)
    at MS.Internal.WpfWebRequestHelper.EndGetResponse(System.Net.WebRequest, System.IAsyncResult)
    at System.Windows.Navigation.NavigationService.HandleWebResponse(System.IAsyncResult)
    at System.Windows.Navigation.NavigationService+<>c__DisplayClass106_0.<HandleWebResponseOnRightDispatcher>b__0(System.Object)
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
    at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
    at System.Windows.Threading.DispatcherOperation.InvokeImpl()
    at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
    at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
    at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
    at System.Windows.Threading.DispatcherOperation.Invoke()
    at System.Windows.Threading.Dispatcher.ProcessQueue()
    at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
    at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
    at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
    at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
    at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
    at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
    at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
    at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
    at System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
    at System.Windows.Application.RunDispatcher(System.Object)
    at System.Windows.Application.RunInternal(System.Windows.Window)
    at System.Windows.Application.Run(System.Windows.Window)
    at SensorExpertGUI.App.Main()

    AND

    Faulting application name: SensorPal.exe, version: 2.5.2.6, time stamp: 0x62b27006
    Faulting module name: KERNELBASE.dll, version: 10.0.19041.1766, time stamp: 0x270baf18
    Exception code: 0xe0434352
    Fault offset: 0x0012c3a2
    Faulting process id: 0xbec
    Faulting application start time: 0x01d892b86fbee65d
    Faulting application path: C:\Program Files (x86)\Analog Devices\SensorPal\SensorPal.exe
    Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
    Report Id: aff4067f-8cc2-49ca-a38d-3b07b489cc56
    Faulting package full name:
    Faulting package-relative application ID:

    Thank you, 

    Mark

    Keen 

  • The reason is that there are 3 help files missing, or badly referenced. 

    The tools.json file refers to the following files, that do not exist:

    "HTMLFiles\\batteryimpedance_help_magphase.html",
    "HTMLFiles\\batteryimpedance_help_mag.html",
    "HTMLFiles\\batteryimpedance_help_phase.html",

    2 options:

    1) create the 3 files

    2) rename the file names in the json file, by removing "battery", as the "impedance_help..." files exist. (Once you do that, you can also change the "defaultsequence" to point to your preferred tool.)

    Both methods work for me. 

    The real answer would be a new version of the software, but this workaround might help people.

  • Thank you hb020, I will try this tomorrow. 

  • hase.htm

    I try the option 1 and it works. Thanks, bro! But will it have side effects?

Reply Children
  • no side effects other than the help texts on the batteryimpedance screen that may be incorrect. All this is just about the help text files being there. 

  • You are so helpful!! BTW, why it keep start frequency at 1 Hz even I set it begins at 0.001Hz. I check the export data file, it won't change.... I am using the EVAL-AD5941BATZ

  • It is possible that that is a software limitation. My measurements show that the EVAL-AD5941BATZ board's usable frequency range is about 4Hz - 5Khz. Outside of that, the accuracy is degraded, and below 1Hz the noise of the input circuitry gets quite noticeable (1/f noise). So 0.001Hz is way outside of the possibilities of the board.

    With some minor modifications, 0.5Hz - 5kHz can be made possible though. The modifications (which require SMD soldering tools and skills) are:
    * add U4 (otherwise the first couple of seconds of measurements are totally off)
    * change C5, C6, C36, C37, C38, C39 from 2.2uF to 10uF.
    * And I forgot if I also changed R18, R19, R2, R3, R4, R5 from 2Meg to 10Meg.

  • Thank you a lot!! But according to the manual, it shows that it can show the data at 1 mHz and its range is from mHz to kHz. My project needs to be at mHz range, so should I continue or change to other eval boards? Thanks again!!!

  • The chip is programmable to that low, but 1) the sensorpal software does not allow that (apparently), and 2) the input circuitry has a high pass filter (through the Rs and Cs I mentioned) that will block the lower frequencies. But you need it, because you cannot push the battery DC voltage directly on the opamp inputs. By the way, to have more control, I stopped using sensorpal and adapted the embedded software. There are some bugs in there as well but nothing serious. It is more laborious though.