public Communicator()
        {
            // Initialize variables
            TxCount          = 0;
            TxFailedCount    = 0;
            RxCount          = 0;
            RxFailedCount    = 0;
            PendingCommands  = new List <UsbCommand>();
            PacketsToRequest = new List <byte>();
            PacketsToRequest.Add(0x10);
            PacketsToRequest.Add(0x11);
            PacketsToRequest.Add(0x12);
            PacketsToRequest.Add(0x13);
            WaitingForDevice  = false;
            _NewDataAvailable = false;

            // Obtain and initialize an instance of HidUtility
            HidUtil = new HidUtility();

            // Subscribe to HidUtility events
            HidUtil.RaiseConnectionStatusChangedEvent += ConnectionStatusChangedHandler;
            HidUtil.RaiseSendPacketEvent     += SendPacketHandler;
            HidUtil.RaisePacketSentEvent     += PacketSentHandler;
            HidUtil.RaiseReceivePacketEvent  += ReceivePacketHandler;
            HidUtil.RaisePacketReceivedEvent += PacketReceivedHandler;
        }
        public Communicator()
        {
            // Initialize variables
            TxCount          = 0;
            TxFailedCount    = 0;
            RxCount          = 0;
            RxFailedCount    = 0;
            PendingCommands  = new List <UsbCommand>();
            PacketsToRequest = new List <byte>();
            PacketsToRequest.Add(0x10);
            PacketsToRequest.Add(0x11);
            PacketsToRequest.Add(0x12);
            PacketsToRequest.Add(0x13);
            PacketsToRequest.Add(0x14);
            WaitingForDevice          = false;
            _NewStatusAvailable       = false;
            _NewDisplay1Available     = false;
            _NewDisplay2Available     = false;
            _NewCalibration1Available = false;
            _NewCalibration2Available = false;

            // Obtain and initialize an instance of HidUtility
            HidUtil = new HidUtility();

            // Subscribe to HidUtility events
            HidUtil.RaiseConnectionStatusChangedEvent += ConnectionStatusChangedHandler;
            HidUtil.RaiseSendPacketEvent     += SendPacketHandler;
            HidUtil.RaisePacketSentEvent     += PacketSentHandler;
            HidUtil.RaiseReceivePacketEvent  += ReceivePacketHandler;
            HidUtil.RaisePacketReceivedEvent += PacketReceivedHandler;

            //Set the device to look for / connect with
            //HidUtil.SelectDevice(new Device(_Vid, _Pid));
        }
Example #3
0
        public unsafe Form1()
        {
            InitializeComponent();

            // Get an instance of HidUtility
            HidUtil = new HidUtility();

            // Initialize user interface
            SetUserInterfaceStatus(false);

            // Register event handlers
            HidUtil.RaiseDeviceRemovedEvent += DeviceRemovedHandler;
            HidUtil.RaiseDeviceAddedEvent += DeviceAddedHandler;
            HidUtil.RaiseConnectionStatusChangedEvent += ConnectionStatusChangedHandler;
            HidUtil.RaiseSendPacketEvent += SendPacketHandler;
            HidUtil.RaisePacketSentEvent += PacketSentHandler;
            HidUtil.RaiseReceivePacketEvent += ReceivePacketHandler;
            HidUtil.RaisePacketReceivedEvent += PacketReceivedHandler;

            // Fill the PID and VID text boxes
            VidTextBox.Text = string.Format("0x{0:X4}", VID);
            PidTextBox.Text = string.Format("0x{0:X4}", PID);

            // Initialize tool tips, to provide pop up help when the mouse cursor is moved over objects on the form.
            ANxVoltageToolTip.SetToolTip(this.AnalogLabel, "If using a board/PIM without a potentiometer, apply an adjustable voltage to the I/O pin.");
            ANxVoltageToolTip.SetToolTip(this.AnalogBar, "If using a board/PIM without a potentiometer, apply an adjustable voltage to the I/O pin.");
            ToggleLEDToolTip.SetToolTip(this.ToggleLedButton, "Sends a packet of data to the USB device.");
            PushbuttonStateTooltip.SetToolTip(this.PushbuttonText, "Try pressing pushbuttons on the USB demo board.");

            // Populate device list TextBox
            RefreshDeviceList();

            // Initiate Log TextBox
            WriteLog("System started", true);

            // Initial attempt to connect
            HidUtil.SelectDevice(new HidUtilityNuget.Device(VID, PID));
        } //Form1()
Example #4
0
        public Communicator()
        {
            // Initialize variables
            _Vid             = 0x04D8;
            _Pid             = 0x0054;
            TxCount          = 0;
            TxFailedCount    = 0;
            RxCount          = 0;
            RxFailedCount    = 0;
            LedTogglePending = false;
            LastCommand      = 0x81;

            // Obtain and initialize an instance of HidUtility
            HidUtil = new HidUtility();
            HidUtil.SelectDevice(new Device(_Vid, _Pid));

            // Subscribe to HidUtility events
            HidUtil.RaiseConnectionStatusChangedEvent += ConnectionStatusChangedHandler;
            HidUtil.RaiseSendPacketEvent     += SendPacketHandler;
            HidUtil.RaisePacketSentEvent     += PacketSentHandler;
            HidUtil.RaiseReceivePacketEvent  += ReceivePacketHandler;
            HidUtil.RaisePacketReceivedEvent += PacketReceivedHandler;
        }
Example #5
0
        public HidDemo(ushort Vid, ushort Pid)
        {
            // Display startup message
            Console.WriteLine("Welcome to HID Console Demo");

            // Initialize class variables
            HidUtil  = new HidUtility();
            this.Vid = Vid;
            this.Pid = Pid;

            // Set device to connect to
            HidUtil.SelectDevice(new Device(Vid, Pid));

            // Subscribe to events
            HidUtil.RaiseDeviceRemovedEvent           += DeviceRemovedHandler;
            HidUtil.RaiseDeviceAddedEvent             += DeviceAddedHandler;
            HidUtil.RaiseConnectionStatusChangedEvent += ConnectionStatusChangedHandler;
            HidUtil.RaiseSendPacketEvent     += SendPacketHandler;
            HidUtil.RaisePacketSentEvent     += PacketSentHandler;
            HidUtil.RaiseReceivePacketEvent  += ReceivePacketHandler;
            HidUtil.RaisePacketReceivedEvent += PacketReceivedHandler;

            // Initialization is completed
            Console.WriteLine(string.Format("  Device: Vid=0x{0:X4}, Pid=0x{1:X4}", Vid, Pid));
            Console.WriteLine(string.Format("  Connection status: {0}", HidUtil.ConnectionStatus.ToString()));

            // Print available commands
            Console.WriteLine("Available Commands (all commands are case-insensitive):");
            Console.WriteLine("  v, vid <hex string>: Change vendor ID");
            Console.WriteLine("  p, pid <hex string>: Change product ID");
            Console.WriteLine("  d, devices: List available devices");
            Console.WriteLine("  s, status: Print status information");
            Console.WriteLine("  r, read: Read ADC value and pushbutton status");
            Console.WriteLine("  t, toggle: Toggle LED");
            Console.WriteLine("  q, quit: Exit the application");
        }