Initial commit

This commit is contained in:
2026-07-13 09:25:40 +07:00
parent c08ff54676
commit bccfb156d7
1938 changed files with 641646 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
using RobotNet10.NavigationTune.Shared.Models;
namespace RobotNet10.NavigationTune.Shared.Interfaces;
/// <summary>
/// Test executor interface
/// </summary>
public interface ITestExecutor
{
/// <summary>
/// Execute a test scenario.
/// The navigation algorithm runs on a WatchThread (50Hz); onTelemetryUpdate is invoked from that thread.
/// When onComplete is provided, the method returns immediately with Status=Running and invokes onComplete when done.
/// </summary>
Task<TestExecutionResult> ExecuteAsync(
TestScenario scenario,
NavigationParameterSet parameters,
Action<TelemetryData>? onTelemetryUpdate = null,
CancellationToken cancellationToken = default,
Action<TestExecutionResult>? onComplete = null
);
/// <summary>
/// Pause test execution
/// </summary>
void Pause();
/// <summary>
/// Resume test execution
/// </summary>
void Resume();
/// <summary>
/// Stop test execution
/// </summary>
void Stop();
/// <summary>
/// Emergency stop
/// </summary>
void EmergencyStop();
/// <summary>
/// Get current execution state
/// </summary>
TestStatus GetStatus();
/// <summary>
/// Get progress information
/// </summary>
TestProgress GetProgress();
}