Example #1
0
        /// <summary>
        /// Attempts auto-detection of the currently installed Navio board.
        /// </summary>
        public void Detect()
        {
            // Detect model
            var model = NavioDeviceProvider.Detect();

            if (model.HasValue && Board?.Model != model)
            {
                // Connect to hardware when found and not already connected
                Board = NavioDeviceProvider.Connect(model.Value);

                // Fire changed event
                DoPropertyChanged(nameof(Board));
            }
        }
Example #2
0
        /// <summary>
        /// Creates an instance.
        /// </summary>
        public RcioTerminalApplicationUIModel(TaskFactory uiTaskFactory)
            : base(uiTaskFactory)
        {
            // Run on background thread (necessary for C++/WinRT hardware access)
            Task.Run(() =>
            {
                // Ensure we are running on a Navio 2
                if (NavioDeviceProvider.Detect() != NavioHardwareModel.Navio2)
                {
                    throw new InvalidOperationException(Strings.UnsupportedModelError);
                }

                // Initialize RCIO
                Rcio = new Navio2RcioDevice();
            })
            .Wait();
        }