/// <summary> /// Receive Buttons Notifications /// </summary> /// <param name="update"></param> private void NotificationHandler(brick.LegoSensorUpdate update) { // Receive Button notifications from the NXT Brick LegoResponseGetButtonState buttonsUpdate = new LegoResponseGetButtonState(update.Body.CommandData); if (buttonsUpdate != null && buttonsUpdate.Success) { if (_state.Buttons.PressedLeft != buttonsUpdate.PressedLeft || _state.Buttons.PressedEnter != buttonsUpdate.PressedEnter || _state.Buttons.PressedRight != buttonsUpdate.PressedRight || _state.Buttons.PressedCancel != buttonsUpdate.PressedCancel || _state.Buttons.TimeStamp == DateTime.MinValue) { _state.Buttons.TimeStamp = update.Body.TimeStamp; _state.Buttons.PressedLeft = buttonsUpdate.PressedLeft; _state.Buttons.PressedEnter = buttonsUpdate.PressedEnter; _state.Buttons.PressedRight = buttonsUpdate.PressedRight; _state.Buttons.PressedCancel = buttonsUpdate.PressedCancel; SendNotification <ButtonsUpdate>(_subMgrPort, _state.Buttons); } } }
/// <summary> /// Receive Buttons Notifications /// </summary> /// <param name="update"></param> private void NotificationHandler(brick.LegoSensorUpdate update) { // Receive Button notifications from the NXT Brick LegoResponseGetButtonState buttonsUpdate = new LegoResponseGetButtonState(update.Body.CommandData); if (buttonsUpdate != null && buttonsUpdate.Success) { if (_state.Buttons.PressedLeft != buttonsUpdate.PressedLeft || _state.Buttons.PressedEnter != buttonsUpdate.PressedEnter || _state.Buttons.PressedRight != buttonsUpdate.PressedRight || _state.Buttons.PressedCancel != buttonsUpdate.PressedCancel || _state.Buttons.TimeStamp == DateTime.MinValue) { _state.Buttons.TimeStamp = update.Body.TimeStamp; _state.Buttons.PressedLeft = buttonsUpdate.PressedLeft; _state.Buttons.PressedEnter = buttonsUpdate.PressedEnter; _state.Buttons.PressedRight = buttonsUpdate.PressedRight; _state.Buttons.PressedCancel = buttonsUpdate.PressedCancel; SendNotification<ButtonsUpdate>(_subMgrPort, _state.Buttons); } } }