/// <summary> /// Initialize for a specific module /// </summary> internal void Initialize(AsyncLocoBuffer lb, LocoNetAddress address) { this.lb = lb; this.programmer = new Programmer(address); configurationControl.Initialize(lb, programmer); Text += string.Format(" [{0}]", address); }
/// <summary> /// Gets/sets a config by address. /// Returns null if not found. /// </summary> public LocoIOConfig this[LocoNetAddress index] { get { LocoIOConfig result; if (locoIOs.TryGetValue(index, out result)) { return(result); } return(null); } set { if (value == null) { Remove(index); } else { if (this[index] != value) { locoIOs[index] = value; Modified.Fire(this); } } } }
/// <summary> /// Initialize for a specific module /// </summary> internal void Initialize(AsyncLocoBuffer lb, LocoNetAddress currentAddress) { this.lb = lb; programmer = new Programmer(new LocoNetAddress(0, 0)); Text = string.Format("Change address of {0}/{1}", currentAddress.Address, currentAddress.SubAddress); upAddress.Value = currentAddress.Address; upSubAddress.Value = currentAddress.SubAddress; }
/// <summary> /// Remove a configuration by it's address. /// </summary> public bool Remove(LocoNetAddress index) { if (!locoIOs.Remove(index)) { return(false); } Modified.Fire(this); return(true); }
/// <summary> /// Read all settings /// </summary> internal void ReadAll(LocoBuffer lb, LocoNetAddress address) { // Create a set of all SV's that are relevant /*var configs = LocoIOConfig.GetAllSVs(); * * // Create the programmer * var programmer = new Programmer(lb, address); * * // Read all SV's * programmer.Read(configs); * * // Get all properly read configs * var validConfigs = configs.Where(x => x.Valid).ToArray(); */ }
/// <summary> /// Read all settings /// </summary> internal void ReadAll(LocoBuffer lb, LocoNetAddress address) { // Create a set of all SV's that are relevant /*var configs = LocoIOConfig.GetAllSVs(); // Create the programmer var programmer = new Programmer(lb, address); // Read all SV's programmer.Read(configs); // Get all properly read configs var validConfigs = configs.Where(x => x.Valid).ToArray(); */ }
/// <summary> /// Default ctor /// </summary> public LocoIO(LocoNetAddress address, int version) { this.address = address; this.version = version; }
/// <summary> /// Does this list contain a config for the given address? /// </summary> public bool Contains(LocoNetAddress index) { return(locoIOs.ContainsKey(index)); }
/// <summary> /// Default ctor /// </summary> public Programmer(LocoNetAddress address) { this.address = address; timeout = 2000; }