/// <summary> /// Handle the Digital Message. Update the values for the pins of the port /// and raise a NewDigitalValue event /// </summary> /// <param name="message"></param> public void Handle(DigitalMessage message) { var pinStart = (byte)(8 * message.Port); for (byte i = 0; i < 8; i++) { Pins[i + pinStart].CurrentValue = message.PinStates[i] ? 1 : 0; } OnNewDigitalValue(message.Port, message.PinStates); }
/// <summary> /// Handle the Digital Message. Update the values for the pins of the port /// and raise a NewDigitalValue event /// </summary> /// <param name="message"></param> public void Handle(DigitalMessage message) { var pinStart = (byte)(8 * message.Port); for (byte i = 0; i < 8; i++) { int index = i + pinStart; if (index < Pins.Count) { Pins[index].CurrentValue = message.PinStates[i] ? 1 : 0; } } OnNewDigitalValue(message.Port, message.PinStates); }