// Selecting Acquire->Start on the main window will result in this function being called.
// If numberOfScans == -1, the acquisitor will scan forever.
public void AcquireStart(int numberOfScans)
{
if (appState != AppState.running)
{
if (profileManager.CurrentProfile == null)
{
MessageBox.Show("No profile selected !", "Profile error", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
return;
}
Profile currentProfile = profileManager.GetCloneOfCurrentProfile();
// clear stored data
dataStore.ClearAll();
// delete any temporary files
string tempPath = Environment.GetEnvironmentVariable("TEMP") + "\\ScanMasterTemp";
if (Directory.Exists(tempPath))
{
string[] tempFiles = Directory.GetFiles(tempPath);
foreach (string file in tempFiles)
{
File.Delete(file);
}
}
// tell the viewers that acquisition is starting
viewerManager.AcquireStart();
// start the acquisition
acquisitor.Configuration = currentProfile.AcquisitorConfig;
WriteScanSettings(DataStore.TotalScan);
acquisitor.AcquireStart(numberOfScans);
appState = AppState.running;
}
}