Files
HawkeyeVision/VisionBuilder.UI.Windows.Test/Program.cs
2025-07-19 15:57:59 +02:00

92 lines
2.8 KiB
C#

using Hawkeye.VisionBuilder.UI.Sources.Emulation;
using Inspectron.Settings;
using Inspectron.Settings.Windows.Configuration;
using Lindt.Colorballs.Duo.Utils;
using Ninject;
using Ninject.Extensions.ChildKernel;
using OpenCvSharp;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Threading;
using VisionBuilder.UI.Common;
using VisionBuilder.UI.Common.Commands;
using VisionBuilder.UI.Common.RecipeProcessing;
using VisionBuilder.UI.Common.ViewModel;
using VisionBuilder.UI.Common.ViewModel.Classes;
using VisionBuilder.UI.Common.ViewModel.Interfaces.UI;
using VisionBuilder.UI.Console;
using VisionBuilder.UI.IOCommander;
using VisionBuilder.UI.Recipes.HawkeyeRecipe;
using VisionBuilder.UI.Ringbuffer;
using VisionBuilder.UI.Statistics;
using VisionBuilder.UI.Windows.Settings;
namespace VisionBuilder.UI.Windows.Test
{
internal static class Program
{
private const string CAMERA1 = "Camera 1";
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
// In your application startup code
InspectronSettings settings = new InspectronSettings("..\\Config");
var mainKernel = Common.VisionBuilder.CreateMainKernel(settings);
mainKernel
.UseIOCommander([CAMERA1])
.UseIOCommanderWindowsDebug()
.UseConsole()
.UseWindowsServices();
// CAMERA 1 //
ChildKernel kernelCamera1 = new ChildKernel(mainKernel);
// MODULES //
kernelCamera1
.RegisterCamera(CAMERA1)
.UseStatistics(CAMERA1)
.UseRingbuffer(CAMERA1)
.UseHawkeyeRecipes(CAMERA1)
.UseCameraIOCommander(CAMERA1)
;
// LOAD SETTINGS //
mainKernel.RegisterSettings();
kernelCamera1.RegisterSettings();
settings.LoadSettings();
// Create camera and bind it
// Must be done after settings are loaded
kernelCamera1.UseCamera();
mainKernel.InitializeModules();
kernelCamera1.InitializeModules();
var mainWindowVm = mainKernel.Get<MainWindowVM>();
mainWindowVm.SingleCameraVms = [
kernelCamera1.Get<SingleCameraVM>()
];
settings.LoadSettings();
Application.Run(new Form1(mainWindowVm));
}
}
}