Пример #1
0
        private static void Main(string[] args)
        {
            // sudo docker run -it --rm --name tof --privileged derungsapp/icarus.sensors.tof.manualtests

            // test if this test is run on ARM64 and Linux (Nvidia Jetson Nano)
            Console.WriteLine($"This test runs on {RuntimeInformation.OSDescription} {RuntimeInformation.ProcessArchitecture}");
            if (!RuntimeInformation.IsOSPlatform(OSPlatform.Linux) || RuntimeInformation.ProcessArchitecture != Architecture.Arm64)
            {
                ConsoleHelper.WriteLine("This manual test is not supported on this machine. \n Please make sure to run the test on the actual device with the sensors wired. \n Press 'c' to continue in debug mode", ConsoleColor.Red);
                var key = Console.ReadKey();

                if (key.KeyChar != 'c')
                {
                    return;
                }
            }

#if !DEBUG
            var serviceCollection = new ServiceCollection();
            TofModule.Initialize(serviceCollection);
            var serviceProvider = serviceCollection.BuildServiceProvider();
            var tofSensor       = serviceProvider.GetService <ITofSensor>();
#else
            ITofSensor tofSensor = null;
#endif

            TestDistanceSensor(tofSensor, 1000, 100);
            TestDistanceSensor(tofSensor, 500, 50);
            TestDistanceSensor(tofSensor, 300, 50);
            TestDistanceSensor(tofSensor, 0, 0);
        }
Пример #2
0
        public static void Initialize(IServiceCollection serviceCollection)
        {
            MotorModule.Initialize(serviceCollection);
            HallEffectModule.Initialize(serviceCollection);
            ObjectDetectionModule.Initialize(serviceCollection);
            TiltModule.Initialize(serviceCollection);
            TofModule.Initialize(serviceCollection);

            serviceCollection.AddSingleton <DeviceController>();
        }