public List<InquiryResult> DoInquiryScan(int timeoutSeconds)
{
const int iac = (int)AssignedNumbers.GeneralUnlimitedIAC;
var data = new byte[5];
int timeout = Convert.ToInt32(Math.Round(timeoutSeconds / 1.28));
if (timeout <= 0 || timeout > 0x30) throw new ArgumentException("Invalid timeout");
var ret = new List<InquiryResult>();
data[0] = (byte)(iac & 0xFF);
data[1] = (byte)((iac & 0xFF00) >> 8);
data[2] = (byte)((iac & 0xFF0000) >> 16);
data[3] = Convert.ToByte(timeout);
var opcode = new Opcode(OpcodeGroupField.LinkControl, OpcodeCommandField.Inquiry);
_SendHCICommand(opcode, data);
if (_commandData.ContainsKey(opcode))
{
ret = _commandData[opcode] as List<InquiryResult>;
_commandData.Remove(opcode);
}
return ret;
}