/// <summary> /// Initializes a new instance. /// </summary> /// <param name="target"></param> protected internal ControllerContainer(RnetController target) : base(target) { Contract.Requires<ArgumentNullException>(target != null); Controller.Zones.CollectionChanged += (s, a) => RaiseCollectionChanged(a); }
/// <summary> /// Initializes a new instance. /// </summary> /// <param name="controller"></param> /// <param name="zoneCount"></param> public Controller(RnetController controller, int zoneCount) : base(controller) { Contract.Requires<ArgumentNullException>(controller != null); Contract.Requires<ArgumentOutOfRangeException>(zoneCount >= 1 && zoneCount <= 32); // grab references to the supported zones zones = Enumerable.Range(0, zoneCount) .Select(i => Controller.Zones[i]) .ToArray(); modelHandle = controller[0, 0]; firmwareVersionHandle = controller[0, 1]; }
async Task<Driver> GetDriver(RnetController controller) { Contract.Requires<ArgumentNullException>(controller != null); var model = await controller[0, 0].ReadAsciiString(); if (model == null) return null; switch (model) { case "CAM 6.6": return new CAM66(controller); case "CAM 6.6 Rev2": return new CAM66(controller); case "CAV 6.6": return new CAV66(controller); } return null; }
/// <summary> /// Initializes a new instance. /// </summary> /// <param name="controller"></param> protected ControllerBase(RnetController controller) : base(controller) { Contract.Requires<ArgumentNullException>(controller != null); }
/// <summary> /// Initializes a new instance. /// </summary> /// <param name="controller"></param> public Controller(RnetController controller) : base(controller) { Contract.Requires<ArgumentNullException>(controller != null); }
/// <summary> /// Initializes a new instance. /// </summary> /// <param name="controller"></param> /// <returns></returns> internal ControllerContainer(RnetController controller) : base(controller) { }
async Task<ControllerData> FillControllerData(IContext context, RnetController o, ControllerData d) { await FillDeviceData(context, o, d); return d; }
/// <summary> /// Transforms the given <see cref="RnetController"/> into a <see cref="ControllerData"/> instance. /// </summary> /// <param name="d"></param> /// <returns></returns> public async Task<ControllerData> ControllerToData(IContext context, RnetController d) { return await FillControllerData(context, d, new ControllerData()); }