Recently, the company's products have used your RW610 chip, and provided LabTool's write number tool (DutApiMimoApApp_LABTOOL_UNIFIED.exe), manually in the I can see the return information at the Windows command prompt, as shown in the figure below. However, when I simulate the operation at the command prompt in C# and call the tool, there is no output information, and I use ProcessStartInfo / Process to call it. The calling code is in the following code area.
The above is due to factory processing, there is no way to manually prevent the dumbing down, you need to develop an automation tool to do it. Or can I call DutApiMimoApAppDll.dll directly? Is there any related call interface description, thanks ~
========== Image info: =================
============= Code Information ================
var processStartInfo = new ProcessStartInfo
{
// Full path to DUT.exe (absolute path recommended to avoid environment variable issues)
//FileName = @ "D:\FCT\IoTNextScript_20251203\BurnA2\Labtool\ DutApiMimoApApp_LABTOOL_UNIFIED.exe ",
// Optional: pass command line arguments
//Arguments = "" ,
FileName = "cmd.exe ",
Arguments = @ "D:\FCT\IoTNextScript_20251203\BurnA2\Labtool\DutApiMimoApApp_LABTOOL_UNIFIED.exe ",
// Core: redirect standard output/error/input
RedirectStandardOutput = true,
RedirectStandardError = true,
RedirectStandardInput = true,
// Don't create new windows (emulates command prompt)
CreateNoWindow = false,
// Don't boot with OS shell (avoids streaming issues caused by cmd.exe wrapping)
UseShellExecute = false,
// Critical: Match the Windows command prompt encoding (GBK/GB2312)
//StandardOutputEncoding = Encoding.Default,
//StandardErrorEncoding = Encoding. Default,
// Optional: set the working directory (to match the current directory of the command prompt)
WorkingDirectory = Environment.CurrentDirectory
};
// 2. Start the process and read the output asynchronously
using (var process = new Process { StartInfo = processStartInfo })
{
try
{
// Register asynchronous output/error read events (to avoid blocking)
process.OutputDataReceived += ( sender, e) = >
{
if (!string.IsNullOrEmpty(e.Data))
{
ProcessMSG($ "[StandardOutput] {e.Data} ");
// Here you can store the output into variables/logs etc.
}
};
process.ErrorDataReceived += (sender, e) = >
{
if (!string.IsNullOrEmpty(e.Data))
{
ProcessMSG($ "[ErrorOutput] {e.Data} ");
}
};
// Start the process
process.Start();
// Begin asynchronous read stream (must be called, otherwise OutputDataReceived does not trigger)
process.BeginOutputReadLine();
process.BeginErrorReadLine();
// Wait for the process to exit (asynchronous waiting to avoid blocking the main thread)
await process.WaitForExitAsync();
// Check for an exit code (non-zero usually indicates an exception)
ProcessMSG($ "Process exit code: {process.ExitCode} ");
}
catch (Exception ex)
{
ProcessMSG($ "Execution failed: {ex.Message} ");
}
}
OK, thanks . I‘ll have a try ~
Hello,
Hope you are doing well. The Labtool Software Development Kit (SDK) used to automate manufacturing test programs. The SDK contains Application Programming Interfaces (APIs) and a list of data elements.
Could you please check this Application Note? Manufacturing Software Development Kit API Specification
There you can find the system requirements, the flowchart back-end and specific WiFi/BLE/15.4 sequences.
Hope this helps.
Best Regards,
Ricardo
Additional notes:
1: The above code, is C# code.
2: So far, I found that after the test is completed, a Text.txt document is generated in the current directory of LabTool.