/// <summary> /// /// </summary> /// <param name="config"></param> /// <param name="bitindex"></param> /// <param name="complexpath"></param> /// <returns></returns> public override XAMUmpClientItem UpdateValue(XAMIOTrace trace, XAMUmpClientItem item, XAMDriverPropertiesExtended config, out int?bitindex, out string complexpath) { return(XAMUmpClientItem.ParseConfig(trace, item, config, out bitindex, out complexpath)); }
/// <summary> /// /// </summary> /// <param name="config"></param> /// <param name="bitindex"></param> /// <param name="complexPath"></param> /// <returns></returns> public static XAMUmpClientItem ParseConfig(XAMIOTrace trace, XAMUmpClientItem item, XAMDriverPropertiesExtended config, out int?bitindex, out string complexPath) { if (item == null) { item = new XAMUmpClientItem(); } item.ActorId = System.Convert.ToInt32(config.ParameterToks[0]); item.MessageId = (UmpMessageID)System.Convert.ToInt32(config.ParameterToks[1]); switch (item.MessageId) { case UmpMessageID.EditValue: case UmpMessageID.DateTime: case UmpMessageID.I2C_Temperature: break; default: throw new NotImplementedException("Message ID <" + item.MessageId + "> not supported"); } item.Intervall = System.Convert.ToInt32(config.GetOrDefault(6, "0")); item.OffsetWriteValue = config.GetOrDefaultDouble(7, 0.0); item.IsSendOnREOnly = System.Convert.ToBoolean(config.GetOrDefault(8, "false")); bitindex = null; complexPath = null; return(item); }