private void Messenger_PinSetCommand(ReceivedCommand args) { int pin = args.ReadInt16Arg(); bool state = args.ReadBoolArg(); NamedPin p = NamedPin.GetNamedPin(pin); OnPinSet(p, state); }
private void ButtonInputReceived(ReceivedCommand receivedcommand) { short id = receivedcommand.ReadInt16Arg(); switch (id) { case 0: SendControlToFS(Pmdg737Events.EVT_MCP_N1_SWITCH, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); break; case 1: SendControlToFS(Pmdg737Events.EVT_MCP_SPEED_SWITCH, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); break; case 2: SendControlToFS(Pmdg737Events.EVT_MCP_LVL_CHG_SWITCH, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); break; case 3: SendControlToFS(Pmdg737Events.EVT_MCP_HDG_SEL_SWITCH, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); break; case 4: SendControlToFS(Pmdg737Events.EVT_MCP_APP_SWITCH, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); break; case 5: SendControlToFS(Pmdg737Events.EVT_MCP_VOR_LOC_SWITCH, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); break; case 6: SendControlToFS(Pmdg737Events.EVT_MCP_LNAV_SWITCH, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); break; case 7: SendControlToFS(Pmdg737Events.EVT_MCP_VNAV_SWITCH, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); break; case 8: SendControlToFS(Pmdg737Events.EVT_MCP_ALT_HOLD_SWITCH, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); break; case 9: SendControlToFS(Pmdg737Events.EVT_MCP_VS_SWITCH, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); break; case 10: SendControlToFS(Pmdg737Events.EVT_MCP_CMD_B_SWITCH, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); break; case 11: SendControlToFS(Pmdg737Events.EVT_MCP_CMD_A_SWITCH, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); break; } }
private void EncoderInputReceived(ReceivedCommand receivedcommand) { short id = receivedcommand.ReadInt16Arg(); short changeType = receivedcommand.ReadInt16Arg(); uint parameter = 0; if (changeType == 1) { // Decrease parameter = PmdgParameters.MOUSE_FLAG_WHEEL_DOWN; } else if (changeType == 2) { parameter = PmdgParameters.MOUSE_FLAG_WHEEL_UP; } switch (id) { case 0: SendControlToFS(Pmdg737Events.EVT_MCP_COURSE_SELECTOR_L, parameter); break; case 1: SendControlToFS(Pmdg737Events.EVT_MCP_SPEED_SELECTOR, parameter); break; case 2: SendControlToFS(Pmdg737Events.EVT_MCP_HEADING_SELECTOR, parameter); break; case 3: SendControlToFS(Pmdg737Events.EVT_MCP_ALTITUDE_SELECTOR, parameter); break; case 4: SendControlToFS(Pmdg737Events.EVT_MCP_VS_SELECTOR, parameter); break; } }
// Callback function To receive the plain text float series from the Arduino void OnReceivePlainTextFloatSeries(ReceivedCommand arguments) { _receivedBytesCount += CountBytesInCommand(arguments, true); var count = arguments.ReadInt16Arg(); var receivedValue = arguments.ReadFloatArg(); if (count != _receivedItemsCount) { Console.WriteLine("Values not matching: received {0} expected {1}", count, _receivedItemsCount); } if (_receivedItemsCount % (SeriesLength / 10) == 0) { Console.WriteLine("Received value: {0}", receivedValue); } if (_receivedItemsCount == 0) { // Received first value, start stopwatch _beginTime = Millis; } else if (count == SeriesLength - 1) { // Received all values, stop stopwatch _endTime = Millis; var deltaTime = (_endTime - _beginTime); Console.WriteLine("{0} milliseconds per {1} items = is {2} ms/item, {3} Hz", deltaTime, SeriesLength, (float)deltaTime / (float)SeriesLength, (float)1000 * SeriesLength / (float)deltaTime ); Console.WriteLine("{0} milliseconds per {1} bytes = is {2} ms/byte, {3} bytes/sec, {4} bps", deltaTime, _receivedBytesCount, (float)deltaTime / (float)_receivedBytesCount, (float)1000 * _receivedBytesCount / (float)deltaTime, (float)8 * 1000 * _receivedBytesCount / (float)deltaTime ); _receivePlainTextFloatSeriesFinished = true; } _receivedItemsCount++; }
private void ToggleInputReceived(ReceivedCommand receivedcommand) { short id = receivedcommand.ReadInt16Arg(); switch (id) { case 0: SendControlToFS(Pmdg737Events.EVT_MCP_FD_SWITCH_L, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); SendControlToFS(Pmdg737Events.EVT_MCP_FD_SWITCH_R, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); break; case 1: SendControlToFS(Pmdg737Events.EVT_MCP_AT_ARM_SWITCH, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); break; case 2: SendControlToFS(Pmdg737Events.EVT_MCP_DISENGAGE_BAR, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); break; } }
private void MuxToggleInputReceived(ReceivedCommand receivedcommand) { short id = receivedcommand.ReadInt16Arg(); short value = receivedcommand.ReadInt16Arg(); switch (id) { case 0: if (value == 1) { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_IGN_SEL, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); } else { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_IGN_SEL, PmdgParameters.MOUSE_FLAG_RIGHTSINGLE); } break; case 1: if (value == 0) { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_LOGO, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); } else { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_LOGO, PmdgParameters.MOUSE_FLAG_RIGHTSINGLE); } break; case 2: if (value == 0) { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_POS_STROBE, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_POS_STROBE, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); } else { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_POS_STROBE, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_POS_STROBE, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_POS_STROBE, PmdgParameters.MOUSE_FLAG_RIGHTSINGLE); } break; case 3: if (value == 1) { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_IGN_SEL, PmdgParameters.MOUSE_FLAG_RIGHTSINGLE); } else { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_IGN_SEL, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); } break; case 4: if (value == 0) { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_WHEEL_WELL, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); } else { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_WHEEL_WELL, PmdgParameters.MOUSE_FLAG_RIGHTSINGLE); } break; case 5: if (value == 0) { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_POS_STROBE, PmdgParameters.MOUSE_FLAG_RIGHTSINGLE); SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_POS_STROBE, PmdgParameters.MOUSE_FLAG_RIGHTSINGLE); } else { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_POS_STROBE, PmdgParameters.MOUSE_FLAG_RIGHTSINGLE); SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_POS_STROBE, PmdgParameters.MOUSE_FLAG_RIGHTSINGLE); SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_POS_STROBE, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); } break; case 6: if (value == 0) { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_WING, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); } else { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_WING, PmdgParameters.MOUSE_FLAG_RIGHTSINGLE); } break; case 7: if (value == 0) { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_ANT_COL, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); } else { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_ANT_COL, PmdgParameters.MOUSE_FLAG_RIGHTSINGLE); } break; case 8: if (value == 0) { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_L_FIXED, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); } else { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_L_FIXED, PmdgParameters.MOUSE_FLAG_RIGHTSINGLE); } break; case 9: if (value == 0) { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_R_FIXED, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); } else { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_R_FIXED, PmdgParameters.MOUSE_FLAG_RIGHTSINGLE); } break; case 10: if (value == 0) { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_L_TURNOFF, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); } else { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_L_TURNOFF, PmdgParameters.MOUSE_FLAG_RIGHTSINGLE); } break; case 11: if (value == 0) { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_R_RETRACT, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_L_RETRACT, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); } else { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_R_RETRACT, PmdgParameters.MOUSE_FLAG_RIGHTSINGLE); SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_L_RETRACT, PmdgParameters.MOUSE_FLAG_RIGHTSINGLE); } break; case 12: if (value == 1) { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_APU_START, PmdgParameters.MOUSE_FLAG_RIGHTSINGLE); SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_APU_START, PmdgParameters.MOUSE_FLAG_RIGHTSINGLE); } else { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_APU_START, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); } break; case 13: if (value == 0) { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_R_TURNOFF, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); } else { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_R_TURNOFF, PmdgParameters.MOUSE_FLAG_RIGHTSINGLE); } break; case 14: SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_APU_START, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_APU_START, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); break; case 15: if (value == 0) { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_TAXI, PmdgParameters.MOUSE_FLAG_LEFTSINGLE); } else { SendControlToFS(Pmdg737Events.EVT_OH_LIGHTS_TAXI, PmdgParameters.MOUSE_FLAG_RIGHTSINGLE); } break; } }