BTool.DeviceTabsForm.tsmiSendAdvCmd_Click C# (CSharp) Method

tsmiSendAdvCmd_Click() private method

private tsmiSendAdvCmd_Click ( object sender, EventArgs e ) : void
sender object
e EventArgs
return void
        private void tsmiSendAdvCmd_Click(object sender, EventArgs e)
        {
            try
            {
                switch (tvAdvCmdList.SelectedNode.Text)
                {
                    case "HCIExt_SetRxGain":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_SetRxGain);
                        break;
                    case "HCIExt_SetTxPower":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_SetTxPower);
                        break;
                    case "HCIExt_OnePktPerEvt":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_OnePktPerEvt);
                        break;
                    case "HCIExt_ClkDivideOnHalt":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_ClkDivideOnHalt);
                        break;
                    case "HCIExt_DeclareNvUsage":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_DeclareNvUsage);
                        break;
                    case "HCIExt_Decrypt":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_Decrypt);
                        break;
                    case "HCIExt_SetLocalSupportedFeatures":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_SetLocalSupportedFeatures);
                        break;
                    case "HCIExt_SetFastTxRespTime":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_SetFastTxRespTime);
                        break;
                    case "HCIExt_ModemTestTx":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_ModemTestTx);
                        break;
                    case "HCIExt_ModemHopTestTx":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_ModemHopTestTx);
                        break;
                    case "HCIExt_ModemTestRx":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_ModemTestRx);
                        break;
                    case "HCIExt_EndModemTest":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_EndModemTest);
                        break;
                    case "HCIExt_SetBDADDR":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_SetBDADDR);
                        break;
                    case "HCIExt_SetSCA":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_SetSCA);
                        break;
                    case "HCIExt_EnablePTM":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_EnablePTM);
                        break;
                    case "HCIExt_SetFreqTune":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_SetFreqTune);
                        break;
                    case "HCIExt_SaveFreqTune":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_SaveFreqTune);
                        break;
                    case "HCIExt_SetMaxDtmTxPower":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_SetMaxDtmTxPower);
                        break;
                    case "HCIExt_MapPmIoPort":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_MapPmIoPort);
                        break;
                    case "HCIExt_DisconnectImmed":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_DisconnectImmed);
                        break;
                    case "HCIExt_PER":
                        devForm.sendCmds.SendHCIExt(devForm.HCIExt_PER);
                        break;
                    case "L2CAP_InfoReq":
                        devForm.sendCmds.SendL2CAP(devForm.L2CAP_InfoReq);
                        break;
                    case "L2CAP_ConnParamUpdateReq":
                        devForm.sendCmds.SendL2CAP(devForm.L2CAP_ConnParamUpdateReq);
                        break;
                    case "ATT_ErrorRsp":
                        devForm.sendCmds.SendATT(devForm.ATT_ErrorRsp);
                        break;
                    case "ATT_ExchangeMTUReq":
                        devForm.sendCmds.SendATT(devForm.ATT_ExchangeMTUReq);
                        break;
                    case "ATT_ExchangeMTURsp":
                        devForm.sendCmds.SendATT(devForm.ATT_ExchangeMTURsp);
                        break;
                    case "ATT_FindInfoReq":
                        devForm.sendCmds.SendATT(devForm.ATT_FindInfoReq, TxDataOut.CmdTypes.General);
                        break;
                    case "ATT_FindInfoRsp":
                        devForm.sendCmds.SendATT(devForm.ATT_FindInfoRsp);
                        break;
                    case "ATT_FindByTypeValueReq":
                        devForm.sendCmds.SendATT(devForm.ATT_FindByTypeValueReq);
                        break;
                    case "ATT_FindByTypeValueRsp":
                        devForm.sendCmds.SendATT(devForm.ATT_FindByTypeValueRsp);
                        break;
                    case "ATT_ReadByTypeReq":
                        devForm.sendCmds.SendATT(devForm.ATT_ReadByTypeReq);
                        break;
                    case "ATT_ReadByTypeRsp":
                        devForm.sendCmds.SendATT(devForm.ATT_ReadByTypeRsp);
                        ((Control)pgAdvCmds).Refresh();
                        break;
                    case "ATT_ReadReq":
                        devForm.sendCmds.SendATT(devForm.ATT_ReadReq, TxDataOut.CmdTypes.General, (SendCmds.SendCmdResult)null);
                        break;
                    case "ATT_ReadRsp":
                        devForm.sendCmds.SendATT(devForm.ATT_ReadRsp);
                        break;
                    case "ATT_ReadBlobReq":
                        devForm.sendCmds.SendATT(devForm.ATT_ReadBlobReq, TxDataOut.CmdTypes.General, (SendCmds.SendCmdResult)null);
                        break;
                    case "ATT_ReadBlobRsp":
                        devForm.sendCmds.SendATT(devForm.ATT_ReadBlobRsp);
                        break;
                    case "ATT_ReadMultiReq":
                        devForm.sendCmds.SendATT(devForm.ATT_ReadMultiReq);
                        break;
                    case "ATT_ReadMultiRsp":
                        devForm.sendCmds.SendATT(devForm.ATT_ReadMultiRsp);
                        break;
                    case "ATT_ReadByGrpTypeReq":
                        devForm.sendCmds.SendATT(devForm.ATT_ReadByGrpTypeReq, TxDataOut.CmdTypes.General);
                        break;
                    case "ATT_ReadByGrpTypeRsp":
                        devForm.sendCmds.SendATT(devForm.ATT_ReadByGrpTypeRsp);
                        ((Control)pgAdvCmds).Refresh();
                        break;
                    case "ATT_WriteReq":
                        devForm.sendCmds.SendATT(devForm.ATT_WriteReq, (SendCmds.SendCmdResult)null);
                        break;
                    case "ATT_WriteRsp":
                        devForm.sendCmds.SendATT(devForm.ATT_WriteRsp);
                        break;
                    case "ATT_PrepareWriteReq":
                        devForm.sendCmds.SendATT(devForm.ATT_PrepareWriteReq);
                        break;
                    case "ATT_PrepareWriteRsp":
                        devForm.sendCmds.SendATT(devForm.ATT_PrepareWriteRsp);
                        break;
                    case "ATT_ExecuteWriteReq":
                        devForm.sendCmds.SendATT(devForm.ATT_ExecuteWriteReq, (SendCmds.SendCmdResult)null);
                        break;
                    case "ATT_ExecuteWriteRsp":
                        devForm.sendCmds.SendATT(devForm.ATT_ExecuteWriteRsp);
                        break;
                    case "ATT_HandleValueNotification":
                        devForm.sendCmds.SendATT(devForm.ATT_HandleValueNotification);
                        break;
                    case "ATT_HandleValueIndication":
                        devForm.sendCmds.SendATT(devForm.ATT_HandleValueIndication);
                        break;
                    case "ATT_HandleValueConfirmation":
                        devForm.sendCmds.SendATT(devForm.ATT_HandleValueConfirmation);
                        break;
                    case "GATT_ExchangeMTU":
                        devForm.sendCmds.SendGATT(devForm.GATT_ExchangeMTU);
                        break;
                    case "GATT_DiscAllPrimaryServices":
                        devForm.sendCmds.SendGATT(devForm.GATT_DiscAllPrimaryServices, TxDataOut.CmdTypes.General);
                        break;
                    case "GATT_DiscPrimaryServiceByUUID":
                        devForm.sendCmds.SendGATT(devForm.GATT_DiscPrimaryServiceByUUID);
                        break;
                    case "GATT_FindIncludedServices":
                        devForm.sendCmds.SendGATT(devForm.GATT_FindIncludedServices);
                        break;
                    case "GATT_DiscAllChars":
                        devForm.sendCmds.SendGATT(devForm.GATT_DiscAllChars);
                        break;
                    case "GATT_DiscCharsByUUID":
                        devForm.sendCmds.SendGATT(devForm.GATT_DiscCharsByUUID);
                        break;
                    case "GATT_DiscAllCharDescs":
                        devForm.sendCmds.SendGATT(devForm.GATT_DiscAllCharDescs, TxDataOut.CmdTypes.General);
                        break;
                    case "GATT_ReadCharValue":
                        devForm.sendCmds.SendGATT(devForm.GATT_ReadCharValue, TxDataOut.CmdTypes.General, (SendCmds.SendCmdResult)null);
                        break;
                    case "GATT_ReadUsingCharUUID":
                        devForm.sendCmds.SendGATT(devForm.GATT_ReadUsingCharUUID);
                        break;
                    case "GATT_ReadLongCharValue":
                        devForm.sendCmds.SendGATT(devForm.GATT_ReadLongCharValue, TxDataOut.CmdTypes.General, (SendCmds.SendCmdResult)null);
                        break;
                    case "GATT_ReadMultiCharValues":
                        devForm.sendCmds.SendGATT(devForm.GATT_ReadMultiCharValues);
                        break;
                    case "GATT_WriteNoRsp":
                        devForm.sendCmds.SendGATT(devForm.GATT_WriteNoRsp);
                        break;
                    case "GATT_SignedWriteNoRsp":
                        devForm.sendCmds.SendGATT(devForm.GATT_SignedWriteNoRsp);
                        break;
                    case "GATT_WriteCharValue":
                        devForm.sendCmds.SendGATT(devForm.GATT_WriteCharValue, (SendCmds.SendCmdResult)null);
                        break;
                    case "GATT_WriteLongCharValue":
                        devForm.sendCmds.SendGATT(devForm.GATT_WriteLongCharValue, (byte[])null, (SendCmds.SendCmdResult)null);
                        break;
                    case "GATT_ReliableWrites":
                        devForm.sendCmds.SendGATT(devForm.GATT_ReliableWrites);
                        ((Control)pgAdvCmds).Refresh();
                        break;
                    case "GATT_ReadCharDesc":
                        devForm.sendCmds.SendGATT(devForm.GATT_ReadCharDesc);
                        break;
                    case "GATT_ReadLongCharDesc":
                        devForm.sendCmds.SendGATT(devForm.GATT_ReadLongCharDesc);
                        break;
                    case "GATT_WriteCharDesc":
                        devForm.sendCmds.SendGATT(devForm.GATT_WriteCharDesc);
                        break;
                    case "GATT_WriteLongCharDesc":
                        devForm.sendCmds.SendGATT(devForm.GATT_WriteLongCharDesc);
                        break;
                    case "GATT_Notification":
                        devForm.sendCmds.SendGATT(devForm.GATT_Notification);
                        break;
                    case "GATT_Indication":
                        devForm.sendCmds.SendGATT(devForm.GATT_Indication);
                        break;
                    case "GATT_AddService":
                        devForm.sendCmds.SendGATT(devForm.GATT_AddService);
                        break;
                    case "GATT_DelService":
                        devForm.sendCmds.SendGATT(devForm.GATT_DelService);
                        break;
                    case "GATT_AddAttribute":
                        devForm.sendCmds.SendGATT(devForm.GATT_AddAttribute);
                        break;
                    case "GAP_DeviceInit":
                        devForm.sendCmds.SendGAP(devForm.GAP_DeviceInit);
                        break;
                    case "GAP_ConfigDeviceAddr":
                        devForm.sendCmds.SendGAP(devForm.GAP_ConfigDeviceAddr);
                        break;
                    case "GAP_DeviceDiscoveryRequest":
                        ShowProgress(true);
                        devForm.StartTimer(DeviceForm.EventType.Scan);
                        discoverConnectStatus = DiscoverConnectStatus.Scan;
                        DiscoverConnectUserInputControl();
                        ResetSlaveDevices();
                        devForm.sendCmds.SendGAP(devForm.GAP_DeviceDiscoveryRequest);
                        break;
                    case "GAP_DeviceDiscoveryCancel":
                        devForm.sendCmds.SendGAP(devForm.GAP_DeviceDiscoveryCancel);
                        break;
                    case "GAP_MakeDiscoverable":
                        devForm.sendCmds.SendGAP(devForm.GAP_MakeDiscoverable);
                        break;
                    case "GAP_UpdateAdvertisingData":
                        devForm.sendCmds.SendGAP(devForm.GAP_UpdateAdvertisingData);
                        ((Control)pgAdvCmds).Refresh();
                        break;
                    case "GAP_EndDiscoverable":
                        devForm.sendCmds.SendGAP(devForm.GAP_EndDiscoverable);
                        break;
                    case "GAP_EstablishLinkRequest":
                        devForm.sendCmds.SendGAP(devForm.GAP_EstablishLinkRequest);
                        break;
                    case "GAP_TerminateLinkRequest":
                        devForm.sendCmds.SendGAP(devForm.GAP_TerminateLinkRequest);
                        break;
                    case "GAP_Authenticate":
                        devForm.sendCmds.SendGAP(devForm.GAP_Authenticate);
                        break;
                    case "GAP_PasskeyUpdate":
                        devForm.sendCmds.SendGAP(devForm.GAP_PasskeyUpdate);
                        break;
                    case "GAP_SlaveSecurityRequest":
                        devForm.sendCmds.SendGAP(devForm.GAP_SlaveSecurityRequest);
                        break;
                    case "GAP_Signable":
                        devForm.sendCmds.SendGAP(devForm.GAP_Signable);
                        break;
                    case "GAP_Bond":
                        devForm.sendCmds.SendGAP(devForm.GAP_Bond);
                        break;
                    case "GAP_TerminateAuth":
                        devForm.sendCmds.SendGAP(devForm.GAP_TerminateAuth);
                        break;
                    case "GAP_UpdateLinkParamReq":
                        devForm.sendCmds.SendGAP(devForm.GAP_UpdateLinkParamReq);
                        break;
                    case "GAP_SetParam":
                        devForm.sendCmds.SendGAP(devForm.GAP_SetParam);
                        break;
                    case "GAP_GetParam":
                        devForm.sendCmds.SendGAP(devForm.GAP_GetParam);
                        break;
                    case "GAP_ResolvePrivateAddr":
                        devForm.sendCmds.SendGAP(devForm.GAP_ResolvePrivateAddr);
                        break;
                    case "GAP_SetAdvToken":
                        devForm.sendCmds.SendGAP(devForm.GAP_SetAdvToken);
                        ((Control)pgAdvCmds).Refresh();
                        break;
                    case "GAP_RemoveAdvToken":
                        devForm.sendCmds.SendGAP(devForm.GAP_RemoveAdvToken);
                        break;
                    case "GAP_UpdateAdvTokens":
                        devForm.sendCmds.SendGAP(devForm.GAP_UpdateAdvTokens);
                        break;
                    case "GAP_BondSetParam":
                        devForm.sendCmds.SendGAP(devForm.GAP_BondSetParam);
                        ((Control)pgAdvCmds).Refresh();
                        break;
                    case "GAP_BondGetParam":
                        devForm.sendCmds.SendGAP(devForm.GAP_BondGetParam);
                        break;
                    case "UTIL_Reset":
                        devForm.sendCmds.SendUTIL(devForm.UTIL_Reset);
                        break;
                    case "UTIL_NVRead":
                        devForm.sendCmds.SendUTIL(devForm.UTIL_NVRead);
                        break;
                    case "UTIL_NVWrite":
                        devForm.sendCmds.SendUTIL(devForm.UTIL_NVWrite);
                        ((Control)pgAdvCmds).Refresh();
                        break;
                    case "UTIL_ForceBoot":
                        string msg1 = "This Command Will Invalidate The Image On The Device\nDo You Wish To Send The Command?\n";
                        if (DisplayMsgCallback != null)
                            DisplayMsgCallback(SharedAppObjs.MsgType.Warning, msg1);
                        if (msgBox.UserMsgBox(SharedObjects.MainWin, MsgBox.MsgTypes.Warning, MsgBox.MsgButtons.OkCancel, MsgBox.MsgResult.OK, msg1) == MsgBox.MsgResult.OK)
                        {
                            if (DisplayMsgCallback != null)
                                DisplayMsgCallback(SharedAppObjs.MsgType.Info, "User Selected OK\n");
                            if (devForm.sendCmds.SendUTIL(devForm.UTIL_ForceBoot))
                            {
                                string msg2 = "Command Sent\n" + "\n" + "There Should Be No Response To This Command\n" + "(If There Is A Response -> There Is No BootLoader On The Device)\n" + "\n" + "After Noting That There Is No Response\n" + "Start The 'Serial Bootloader' Tool To Download The New Firmware\n\n" + "You May Close BTool Now\n" + "<Or>\n" + "You Can 'Close Device' Then 'Start Device' In BTool After The Serial Bootloader Is Complete\n";
                                if (DisplayMsgCallback != null)
                                    DisplayMsgCallback(SharedAppObjs.MsgType.Warning, msg2);
                                msgBox.UserMsgBox(MsgBox.MsgTypes.Info, msg2);
                                break;
                            }
                            else
                            {
                                string msg2 = "Command Failed\nSerial Bootloader Setup Failed\n";
                                if (DisplayMsgCallback != null)
                                    DisplayMsgCallback(SharedAppObjs.MsgType.Error, msg2);
                                msgBox.UserMsgBox(MsgBox.MsgTypes.Error, msg2);
                                break;
                            }
                        }
                        else
                        {
                            if (DisplayMsgCallback != null)
                                DisplayMsgCallback(SharedAppObjs.MsgType.Info, "User Selected Cancel\n");
                            string msg2 = "Operation Aborted\n";
                            if (DisplayMsgCallback != null)
                                DisplayMsgCallback(SharedAppObjs.MsgType.Info, msg2);
                            msgBox.UserMsgBox(MsgBox.MsgTypes.Info, msg2);
                            break;
                        }
                    case "HCI_ReadRSSI":
                        devForm.sendCmds.SendHCIOther(devForm.HCIOther_ReadRSSI);
                        break;
                    case "HCI_LEClearWhiteList":
                        devForm.sendCmds.SendHCIOther(devForm.HCIOther_LEClearWhiteList);
                        break;
                    case "HCI_LEAddDeviceToWhiteList":
                        devForm.sendCmds.SendHCIOther(devForm.HCIOther_LEAddDeviceToWhiteList);
                        break;
                    case "HCI_LERemoveDeviceFromWhiteList":
                        devForm.sendCmds.SendHCIOther(devForm.HCIOther_LERemoveDeviceFromWhiteList);
                        break;
                    case "HCI_LEConnectionUpdate":
                        devForm.sendCmds.SendHCIOther(devForm.HCIOther_LEConnectionUpdate);
                        break;
                    case "MISC_GenericCommand":
                        devForm.sendCmds.SendMISC(devForm.MISC_GenericCommand);
                        ((Control)pgAdvCmds).Refresh();
                        break;
                    case "MISC_RawTxMessage":
                        devForm.sendCmds.SendMISC(devForm.MISC_RawTxMessage);
                        break;
                    case "Send All Msgs":
                        devForm.SendAllMsgs();
                        break;
                    case "Send All Events":
                        devForm.SendEventWaves(false);
                        break;
                    case "Send All Forever":
                        devForm.SendAllForever();
                        break;
                    case "Send Attr Data Cmds":
                        devForm.SendAttrDataCmds();
                        break;
                    case "Test Case":
                        devForm.TestCase();
                        break;
                    default:
                        msgBox.UserMsgBox(SharedObjects.MainWin, MsgBox.MsgTypes.Warning, "Select A Command First\n");
                        break;
                }
            }
            catch
            {
                msgBox.UserMsgBox(SharedObjects.MainWin, MsgBox.MsgTypes.Warning, "Select A Command First\n");
            }
        }
DeviceTabsForm