/// <summary> /// Handle the capability messages. There will be one such message for each pin /// </summary> public void Handle(CapabilityMessage message) { var pin = new Pin(message); // Add it to the collection Pins.Add(pin); }
public void HasInputCapabilityTest() { var capability = new CapabilityMessage(); capability.PinNo = 1; capability.Modes[PinModes.Input] = 1; var pin = Pin(capability); Assert.IsTrue(pin.HasInputCapability()); }
/// <summary> /// Handle the capability messages. There will be one such message for each pin /// </summary> public void Handle(CapabilityMessage message) { var pin = new Pin(); foreach (var mes in message.Modes) { pin.Capabilities[mes.Key] = mes.Value; } // Add it to the collection Pins.Add(pin); }
public Pin(CapabilityMessage message) : this() { foreach (var mes in message.Modes) { Capabilities[mes.Key] = mes.Value; } PinNo = message.PinNo; if (HasDigitalCapability()) { Port = (byte)PinNo / 8; } }
public void ResolutionOfCapabilityTest() { var capability = new CapabilityMessage(); capability.PinNo = 1; capability.Modes[PinModes.Input] = 1; var pin = Pin(capability); Assert.IsTrue(pin.ResolutionOfCapability(PinModes.Input) == 1); Assert.IsTrue(pin.ResolutionOfCapability(PinModes.Output) == -1); }
public void CreationTest() { var capability = new CapabilityMessage(); capability.PinNo = 1; capability.Modes[PinModes.Input] = 1; var pin = Pin(capability); Assert.NotNull(pin); Assert.IsTrue(pin.Port == 0); }
public void IsI2CModeTest() { var capability = new CapabilityMessage(); capability.PinNo = 1; capability.Modes[PinModes.Analog] = 1; var pin = Pin(capability); Assert.IsFalse(pin.IsI2CMode()); pin.CurrentMode = PinModes.I2C; Assert.IsTrue(pin.IsI2CMode()); }
public void HasAnalogCapabilityTest() { var capability = new CapabilityMessage(); capability.PinNo = 1; capability.Modes[PinModes.Input] = 1; var pin = Pin(capability); Assert.IsFalse(pin.HasAnalogCapability()); pin.Capabilities[PinModes.Analog] = 1; Assert.IsTrue(pin.HasAnalogCapability()); }
public void IsInputModeTest() { var capability = new CapabilityMessage(); capability.PinNo = 1; capability.Modes[PinModes.Input] = 1; var pin = Pin(capability); //CurrentMode is set to PinModes.Input by default //http://stackoverflow.com/questions/1165402/initial-value-of-an-enum Assert.IsTrue(pin.IsInputMode()); pin.CurrentMode = PinModes.I2C; Assert.IsFalse(pin.IsInputMode()); }
internal void OnCapability(CapabilityMessage message) => Capability?.Invoke(message);
private Pin Pin(CapabilityMessage message) { return(new Pin(message)); }