Ejemplo n.º 1
0
        /// <summary>
        /// Go and look for devices we can use
        /// If we find more then one, use the first one found
        /// </summary>
        private void DeviceChange(object sender)
        {
            //Create a interface the the Readout tool
            IBootloaderDevice devIntf = new BBmsProgrammer.BBmsProgrammer();

            //Get a list of devices and communication options
            ISBSInterface[] sbsDevs = devIntf.AvailableInterface;
            IDevice[]       devs    = devIntf.AvailableDevice;
            if (devs == null || devs.Length == 0)
            {
                //Clear the localy stored device object
                canSbsDevice = null;
                //Update the view
                //gbRegisters.Enabled = gbLogging.Enabled = gbClock.Enabled =
                gbBattery.Enabled   = false;
                lblDevice.Text      = "Not connected";
                lblDevice.ForeColor = Color.Red;
                return;
            }

            //Check if the device supports CAN
            canSbsDevice = sbsDevs.FirstOrDefault(x => x.Protocol == "CAN");
            if (canSbsDevice == null)
            {
                //Update the view
                //gbRegisters.Enabled = gbLogging.Enabled = gbClock.Enabled =
                gbBattery.Enabled   = false;
                lblDevice.Text      = "Not connected";
                lblDevice.ForeColor = Color.Red;
                return;
            }

            //Open the (first)device
            canSbsDevice.Open(devs[0]);

            //Update the view
            //gbRegisters.Enabled = gbLogging.Enabled = gbClock.Enabled =
            gbBattery.Enabled   = true;
            lblDevice.Text      = "Connected";
            lblDevice.ForeColor = Color.Green;
        }