public bool ResetDeviceInfoList()
        {
            //Reset the device information list
            mpDeviceInfo = new Dictionary <string, int>();

            //Check to see that given device exists and is connected
            if (v45 == null)
            {
                return(false);
            }

            if (!v45.Connected)
            {
                return(false);
            }

            //Try to loop through and get all text descriptions
            try
            {
                v45.Messenger.EndCalibration();
                List <UInt16> availableDevInfo = v45.Messenger.GetAvailableDeviceInfo();
                foreach (UInt16 i in availableDevInfo)
                {
                    Vivo45DeviceInfo devInfo =
                        (Vivo45DeviceInfo)v45.Messenger.GetDeviceInfoInformation(i);
                    mpDeviceInfo.Add(devInfo.ExplanatoryText, devInfo.Id);
                }
            }
            //If at any point connection is interrupted, return false
            catch
            {
                return(false);
            }
            return(true);
        }
        public Vivo45DeviceInfo GetDeviceInfoInformation(UInt16 id)
        {
            byte[] data = new byte[2];

            int offset = 0;

            data.Add(ref offset, BitConverter.GetBytes(id));

            V45Packet cmdPack = new V45Packet(V45Packet.V45Commands.cmdGetDeviceInfo, data, sender, receiver);
            var       packet  = SendMessage(cmdPack);

            Vivo45DeviceInfo v45i = new Vivo45DeviceInfo(packet.Payload);

            return(v45i);
        }