/// <summary>
 /// Конструктор свойства
 /// </summary>
 /// <param name="_idx"></param>
 /// <param name="_bitIdx"></param>
 /// <param name="_bitLen"></param>
 /// <param name="_setUsbEvent"></param>
 /// <param name="_changeEvent"></param>
 public CVProperty(ushort _bitIdx, ushort _bitLen, ControlValueEventHandler _setUsbEvent, ControlValueEventHandler _changeEvent)
 {
     BitIdx = _bitIdx;
     BitLen = _bitLen;
     SetUsbEvent = _setUsbEvent;
     ChangeEvent = _changeEvent;
 }
        /// <summary>
        /// Добавляем свойство
        /// </summary>
        /// <param name="_idx">Индекс свойства, должно быть уникально</param>
        /// <param name="_bitIdx">Индекс бита, с которого свойство начинается</param>
        /// <param name="_bitLen">Длина в битах свойства</param>
        /// <param name="_setUsbEvent">Функция, которая должна вызываться при установке свойства</param>
        /// <param name="_changeEvent">Функция, которая должна вызываться при изменении свойства</param>
        /// <returns></returns>
        public bool AddProperty(int _idx, ushort _bitIdx, ushort _bitLen, ControlValueEventHandler _setUsbEvent, ControlValueEventHandler _changeEvent)
        {
            if (_cvDictionary.ContainsKey(_idx) || (_bitLen == 0))
            {
                return false;
            }

            _cvDictionary.Add(_idx, new CVProperty(_bitIdx, _bitLen, _setUsbEvent, _changeEvent));
            return true;
        }