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");
}
}