예제 #1
0
#pragma warning restore IDE0060 // Remove unused parameter
#pragma warning restore IDE0051 // Remove unused private members
        #endregion

        #region Private Methods
        private async Task DisplayDataAsync(bool initialize)
        {
            TheProgressRing.IsActive = true;

            try
            {
                if (initialize)
                {
                    await _DeviceConnectionExample.InitializeTrezorAsync();
                }
                var readBuffer = await _DeviceConnectionExample.WriteAndReadFromDeviceAsync();

                if (readBuffer == null)
                {
                    throw new Exception("No data returned");
                }

                DevicePanel.DataContext = _DeviceConnectionExample.TrezorDevice.ConnectedDeviceDefinition;
                OutputBox.Text          = string.Join(' ', readBuffer);
            }
            catch (Exception ex)
            {
                _ = await new MessageDialog(ex.Message, "Error").ShowAsync();
            }

            TheProgressRing.IsActive = false;
        }
예제 #2
0
파일: Program.cs 프로젝트: tate98/USB
        private static async Task DisplayDataAsync()
        {
            var bytes = await _DeviceConnectionExample.WriteAndReadFromDeviceAsync();

            Console.Clear();
            Console.WriteLine("Device connected. Output:");
            DisplayData(bytes);
        }
예제 #3
0
        private async void _TrezorExample_TrezorInitialized(object sender, EventArgs e)
        {
            try
            {
                var readBuffer = await _TrezorExample.WriteAndReadFromDeviceAsync();

                if (readBuffer != null && readBuffer.Length > 0)
                {
                    DisplayMessage($"All good. First three bytes {readBuffer[0]}, {readBuffer[1]}, {readBuffer[2]}");
                }
                else
                {
                    DisplayMessage($"No good. No data returned.");
                }
            }
            catch (Exception ex)
            {
                DisplayMessage($"No good: {ex.Message}");
            }
        }
예제 #4
0
        public async override void ViewDidLoad()
        {
            base.ViewDidLoad();

            LibUsbUsbDeviceFactory.Register();

            await TrezorExample.InitializeTrezorAsync();

            var buffer = await TrezorExample.WriteAndReadFromDeviceAsync();

            var alert = new NSAlert
            {
                MessageText = $"Got it! {buffer[0]},{buffer[1]},{buffer[2]}.  Warning: Make sure you unplug and replug before trying again.",
                AlertStyle  = NSAlertStyle.Informational
            };

            alert.AddButton("OK");

            var returnValue = alert.RunModal();
        }
예제 #5
0
        private async Task DisplayDataAsync(bool initialize)
        {
            TheProgressRing.IsActive = true;

            try
            {
                if (initialize)
                {
                    await _DeviceConnectionExample.InitializeTrezorAsync();
                }
                var readBuffer = await _DeviceConnectionExample.WriteAndReadFromDeviceAsync();

                DevicePanel.DataContext = _DeviceConnectionExample.TrezorDevice.ConnectedDeviceDefinition;
                OutputBox.Text          = string.Join(' ', readBuffer);
            }
            catch
            {
            }

            TheProgressRing.IsActive = false;
        }