Hello - I have been using ACE GUI (ver. 1.30.3290.1451 x64) running on ADS10 FPGA + ADRV9040 EVK (ver. 1.2024.28200). I have been trying to write a Matlab script to capture RX0 samples, run FFT analysis and save the SNR number from the results of ACE. Created an ACE macro which captures, does analysis and exports results. The ACE macro runs well. Therefore, I exported the ACE macro into Matlab using ACE's macro tools. However, the Matlab script runs only partially. It fails and reports bad transaction information in "PullAllCaptureDataToStore." Questions:
- Could you please debug the Matlab script so it successfully exports the FFT data?
- Instead of exporting the full FFT data, is there a function to export the SNR value only?
- In general, is there a documentation available describing the ACE macro functions to make scripting and debugging easier?
Thank you and best regards, Peter.
-- Analog Devices, Inc. evaluation macro file
## Copyright © 2024 by Analog Devices, Inc. All rights reserved. This software is proprietary to Analog Devices, Inc. and its licensors.
## This software is provided on an “as is” basis without any representations, warranties, guarantees or liability of any kind.
## Use of the software is subject to the terms and conditions of the Clear BSD License ( spdx.org/.../BSD-3-Clause-Clear.html ).
UI.SelectTab("Root::System.Subsystem_1.ADRV9040 Board.ADRV9040.Rx (Capture)");
@Subsystem_1.ADRV9040 Board.ADRV9040: @AsyncDataCapture("Rx (Capture)DataSet_0");
@Subsystem_1.ADRV9040 Board.ADRV9040: Evaluation.Capture.PullAllCaptureDataToStore(-1, 4000, False, True, "Rx (Capture)DataSet_0", "Root::System.Subsystem_1.ADRV9040 Board.ADRV9040.Rx (Capture)", None);
UI.SelectTab("Root::System.Subsystem_1.ADRV9040 Board.ADRV9040.Rx (Capture)");
@Subsystem_1.ADRV9040 Board.ADRV9040.Rx (Capture): Evaluation.Data.ExportStoreDataToFile("acesamples", "acesamples", , , Overwrite);
UI.SelectTab("Root::System.Subsystem_1.ADRV9040 Board.ADRV9040.Rx (Capture)");
@Subsystem_1.ADRV9040 Board.ADRV9040.Rx (Capture): Evaluation.Data.ExportStoreDataToFile("acesamples", "acesamples", , , Overwrite);
UI.SelectTab("tool.macrorecorder");
function ADRV9040_capture_export()
NET.addAssembly('C:\Program Files\Analog Devices\ACE\Client\AnalogDevices.Csa.Remoting.Clients.dll');
NET.addAssembly('C:\Program Files\Analog Devices\ACE\Client\AnalogDevices.Csa.Remoting.Contracts.dll');
% Copyright 2024 by Analog Devices, Inc. All rights reserved. This software is proprietary to Analog Devices, Inc. and its licensors.
% This software is provided on an "as is" basis without any representations, warranties, guarantees or liability of any kind.
% Use of the software is subject to the terms and conditions of the Clear BSD License ( spdx.org/.../BSD-3-Clause-Clear.html ).
import AnalogDevices.Csa.Remoting.Clients.*;
import AnalogDevices.Csa.Remoting.Contracts.*;
manager = ClientManager.Create();
client = manager.CreateRequestClient(2357);
client.ConnectionTimeout = 100000000;
client.SendTimeout = 100000000;
client.ReceiveTimeout = 100000000;
execute_macro(client);
% client.CloseSession();
end
function execute_macro(client)
% UI.SelectTab("Root::System.Subsystem_1.ADRV9040 Board.ADRV9040.Rx (Capture)");
client.ContextPath = '\System\Subsystem_1\ADRV9040 Board\ADRV9040';
client.SetBoolParameter('virtual-parameter-rx0-runtime-enable', 'True', '-1');
client.Run('@ToggleCaptureChannels');
client.Run('@ApplyTrackingCals');
client.GetBoolParameter('virtual-parameter-rx0-runtime-enable');
% UI.SelectTab("Root::System.Subsystem_1.ADRV9040 Board.ADRV9040.Rx (Capture)");
client.ContextPath = '\System\Subsystem_1\ADRV9040 Board\ADRV9040';
client.Run('@AsyncDataCapture(Rx (Capture)DataSet_0)');
client_StorePath = char('Root::System.Subsystem_1.ADRV9040 Board.ADRV9040.Rx (Capture)');
client.PullAllCaptureDataToStore('-1', '10000', 'True', 'True', 'Rx (Capture)DataSet_0', client_StorePath, 'None');
%client.PullAllCaptureDataToStore('-1', '10000','True', 'True', 'Rx (Capture)DataSet_0', 'Root::System.Subsystem_1.ADRV9040 Board.ADRV9040.Rx (Capture)', 'None');
%client.PullAllCaptureDataToStore: MaxSamples=-1, WaitTimeout=10000, ReplacePrevious=True, UseWaitOnCapture=True,
%DataSetName=Rx (Capture)DataSet_0, StorePath=Root::System.Subsystem_1.ADRV9040 Board.ADRV9040.Rx (Capture), MergeMode=None".
% UI.SelectTab("Root::System.Subsystem_1.ADRV9040 Board.ADRV9040.Rx (Capture)");
client.ContextPath = '\System\Subsystem_1\ADRV9040 Board\ADRV9040\Rx (Capture)';
% The default export directory -->> C:\Users\[current-user]\AppData\Local\Analog Devices\ACE\ExportData\
client.ExportStoreDataToFile('acesamples', 'acesamples', '', '', 'Overwrite');
% UI.SelectTab("tool.macrorecorder");
end