コード例 #1
0
ファイル: DeviceTabsForm.cs プロジェクト: x893/BTool
 private void btnEstablish_Click(object sender, EventArgs e)
 {
     HCICmds.GAPCmds.GAP_EstablishLinkRequest establishLinkRequest = new HCICmds.GAPCmds.GAP_EstablishLinkRequest();
     establishLinkRequest.highDutyCycle = HCICmds.GAP_EnableDisable.Disable;
     establishLinkRequest.whiteList = !ckBoxConnWhiteList.Checked ? HCICmds.GAP_EnableDisable.Disable : HCICmds.GAP_EnableDisable.Enable;
     establishLinkRequest.addrTypePeer = (HCICmds.GAP_AddrType)cbConnAddrType.SelectedIndex;
     if (cbConnSlaveDeviceBDAddress.Text == "None")
     {
         msgBox.UserMsgBox(SharedObjects.MainWin, MsgBox.MsgTypes.Error, "Select a Slave BDAddress\n");
         cbConnSlaveDeviceBDAddress.Focus();
     }
     else
     {
         discoverConnectStatus = DiscoverConnectStatus.Establish;
         DiscoverConnectUserInputControl();
         ShowProgress(true);
         devForm.StartTimer(DeviceForm.EventType.Establish);
         establishLinkRequest.peerAddr = cbConnSlaveDeviceBDAddress.Text;
         if (devForm.sendCmds.SendGAP(establishLinkRequest))
             return;
         ShowProgress(false);
         devForm.StopTimer(DeviceForm.EventType.Establish);
         msgBox.UserMsgBox(SharedObjects.MainWin, MsgBox.MsgTypes.Error, "Invalid Slave BDA\n");
         cbConnSlaveDeviceBDAddress.Focus();
     }
 }
コード例 #2
0
ファイル: DeviceTabsForm.cs プロジェクト: x893/BTool
 private void btnGetParams_Click(object sender, EventArgs e)
 {
     discoverConnectStatus = DiscoverConnectStatus.GetSet;
     DiscoverConnectUserInputControl();
     GetConnectionParameters();
     discoverConnectStatus = DiscoverConnectStatus.Idle;
     DiscoverConnectUserInputControl();
 }
コード例 #3
0
ファイル: DeviceTabsForm.cs プロジェクト: x893/BTool
 public void TabDiscoverConnectInitValues()
 {
     ckBoxActiveScan.Checked = true;
     ckBoxWhiteList.Checked = false;
     cbScanMode.SelectedIndex = 3;
     ResetSlaveDevices();
     cbConnAddrType.SelectedIndex = 0;
     ckBoxConnWhiteList.Checked = false;
     discoverConnectStatus = DiscoverConnectStatus.Idle;
     DiscoverConnectUserInputControl();
 }
コード例 #4
0
ファイル: DeviceTabsForm.cs プロジェクト: x893/BTool
 private void btnEstablishCancel_Click(object sender, EventArgs e)
 {
     discoverConnectStatus = DiscoverConnectStatus.EstablishCancel;
     DiscoverConnectUserInputControl();
     HCICmds.GAPCmds.GAP_TerminateLinkRequest terminateLinkRequest = new HCICmds.GAPCmds.GAP_TerminateLinkRequest();
     try
     {
         terminateLinkRequest.connHandle = (ushort)65534;
         terminateLinkRequest.discReason = HCICmds.GAP_DisconnectReason.Remote_User_Terminated;
         devForm.sendCmds.SendGAP(terminateLinkRequest);
     }
     catch (Exception ex)
     {
         string msg = string.Format("Failed To Send Terminate Link Message.\n\n{0}\n", ex.Message);
         msgBox.UserMsgBox(SharedObjects.MainWin, MsgBox.MsgTypes.Error, msg);
     }
 }
コード例 #5
0
ファイル: DeviceTabsForm.cs プロジェクト: x893/BTool
 public void ShowProgress(bool enable)
 {
     if (InvokeRequired)
         BeginInvoke((Delegate)new DeviceTabsForm.ShowProgressDelegate(ShowProgress), enable);
     else if (enable)
     {
         pbSharedDevice.Style = ProgressBarStyle.Marquee;
         pbSharedDevice.Enabled = true;
         btnSendShared.Enabled = false;
     }
     else
     {
         Cursor = Cursors.Default;
         discoverConnectStatus = DiscoverConnectStatus.Idle;
         DiscoverConnectUserInputControl();
         pbSharedDevice.Style = ProgressBarStyle.Continuous;
         pbSharedDevice.Enabled = false;
         btnSendShared.Enabled = true;
     }
 }
コード例 #6
0
ファイル: DeviceTabsForm.cs プロジェクト: x893/BTool
 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");
     }
 }
コード例 #7
0
ファイル: DeviceTabsForm.cs プロジェクト: x893/BTool
 private void btnTerminate_Click(object sender, EventArgs e)
 {
     discoverConnectStatus = DiscoverConnectStatus.Terminate;
     DiscoverConnectUserInputControl();
     HCICmds.GAPCmds.GAP_TerminateLinkRequest terminateLinkRequest = new HCICmds.GAPCmds.GAP_TerminateLinkRequest();
     bool flag;
     try
     {
         terminateLinkRequest.connHandle = Convert.ToUInt16(tbTermConnHandle.Text, 16);
         terminateLinkRequest.discReason = HCICmds.GAP_DisconnectReason.Remote_User_Terminated;
         flag = devForm.sendCmds.SendGAP(terminateLinkRequest);
     }
     catch (Exception ex)
     {
         string msg = string.Format("Invalid Connection Handle\n\n{0}\n", ex.Message);
         msgBox.UserMsgBox(SharedObjects.MainWin, MsgBox.MsgTypes.Error, msg);
         tbTermConnHandle.Focus();
         flag = false;
     }
     if (flag)
         return;
     discoverConnectStatus = DiscoverConnectStatus.Idle;
     DiscoverConnectUserInputControl();
 }
コード例 #8
0
ファイル: DeviceTabsForm.cs プロジェクト: x893/BTool
 private void btnScan_Click(object sender, EventArgs e)
 {
     if (!(Cursor != Cursors.WaitCursor))
         return;
     ShowProgress(true);
     devForm.StartTimer(DeviceForm.EventType.Scan);
     discoverConnectStatus = DiscoverConnectStatus.Scan;
     DiscoverConnectUserInputControl();
     ResetSlaveDevices();
     SlaveDeviceFound = (ushort)0;
     lblDeviceFound.Text = SlaveDeviceFound.ToString();
     devForm.sendCmds.SendGAP(new HCICmds.GAPCmds.GAP_DeviceDiscoveryRequest()
     {
         activeScan = !ckBoxActiveScan.Checked ? HCICmds.GAP_EnableDisable.Disable : HCICmds.GAP_EnableDisable.Enable,
         whiteList = !ckBoxWhiteList.Checked ? HCICmds.GAP_EnableDisable.Disable : HCICmds.GAP_EnableDisable.Enable,
         mode = (HCICmds.GAP_DiscoveryMode)cbScanMode.SelectedIndex
     });
 }
コード例 #9
0
ファイル: DeviceTabsForm.cs プロジェクト: x893/BTool
 private void btnScanCancel_Click(object sender, EventArgs e)
 {
     discoverConnectStatus = DiscoverConnectStatus.ScanCancel;
     DiscoverConnectUserInputControl();
     devForm.sendCmds.SendGAP(new HCICmds.GAPCmds.GAP_DeviceDiscoveryCancel());
 }