There's no reason for us to go revealing our public address when doing
active scanning.
Change-Id: I27bed74bb377b8bba75843ea76acb8f0d58f70f7
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
We'll need this e.g. for NRPA generation even when SMP isn't enabled.
Change-Id: I4bffca3a180fda8f6757e902f8e255ba497b0bf5
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Applications may want fine-grained control of connection parameters.
The two APIs to provide this through are bt_le_set_auto_conn() as well
as bt_conn_create_le().
Change-Id: If5cddbbf017b868d768d18d2a09daf4af8aa00d8
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
There is no need to lookup SMP context again from conn object if
SMP context is already found.
Change-Id: I47ed1da69dc3030021c16579f8039e376ba11320
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
If HCI based ECC is used we should delay sending local Public Key in
LE SC pairing until it is generated by controller.
Change-Id: Ic979fc8efa40a8089ac2b74cbcfac21bdca79bfe
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
Use same ifdefs rule in all places in SMP code. This makes code
easier to read.
Change-Id: I6936ca6f7a0212fc1918ed18d247f3e6d73f0370
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
SMP code is cutted by ifdefs for central and peripheral roles support.
To make code easier to understand we follow same rule for all code:
if (conn->role == BT_HCI_ROLE_MASTER) {
/* master specififc code */
return;
}
/* slave specififc code */
This simple rule allows for covering all build options (only central,
only peripheral or both) in clean way.
Change-Id: I37e65e7444090860069bfa6e9adc5cae07f0c0b9
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
This allow to reuse same code in follow-up patch.
Change-Id: Ie057943f72b0c3c77d44590b56dd5ff9aa53005f
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
Add command for choosing the default connection.
Change-Id: Id100320f31cb0e99ab48b162b466f52f6273018a
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
The state of auto-connectable bt_conn objects needs to be set to
CONNECT_SCAN after init as well as whenever bt_le_set_auto_conn is
called.
Change-Id: Iad2ca32a00ee1b4259196dd20651d5bf94ba9f26
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
If the app loaded the stack with some devices to auto-connect to we
should start the background scanning at the end of bt_init().
Change-Id: Ifd06b66b53639344bdca391eb0ed2d3643ee5a07
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
This function should depend on BLUETOOTH_CENTRAL and not on
BLUETOOTH_CONN. It should also at least be capable of disabling
scanning even if BLUETOOTH_CENTRAL is not set.
Change-Id: Ic6ccd7ddf07ac6529c64889257dc9f9dfb34b531
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Once we start persistently storing the addresses of devices we want to
reconnect to we also need a way to reload them to the stack. Since we
don't have a connection object at this point the API cannot take that
as a parameter. Instead rename the function and have it take
bt_addr_le_t as a parameter.
The feature was also lacking proper reference counting for the
connection, which this patch now adds (the flag itself owns a
reference). The function is now also possible to call before bt_init()
so that if we load the stack with multiple devices the HCI doesn't get
bombarded with lots of scan enable/disable commands.
Change-Id: I9072bf061eb64f2ecec96f74fb176be13e5bdaee
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
This way the app can start passive scanning if it wants.
Change-Id: Iab3e60863d5a1a013a5f069a98664628c7b14418
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
We'll soon add many more parameters, so having a shorter name helps
with readability.
Change-Id: If6384ab0dbb883ea19fa1ad6c81e99432aabd576
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
For background/implicit/reconnection scanning we have fixed internal
parameters that we want to use. For explicit scanning on the other
hand the parameters come from the application. It makes therefore
sense to split the functions responsible for starting each scanning
type.
Change-Id: I0e89a1ce89aca61870f789c7f1e5ad81f97cd00e
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
The explicit scan API should be thought of as the user taking control
of the scanning policy. In this case the stack shouldn't try to
second-guess and create connections in between.
Change-Id: I47cc5d70660706d6657deac50aa0619cbe4bf727
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
All current user just want basic active scanning so a corresponding
macro makes more sense than something based on duplicate filtering.
Change-Id: I97787be24b89fad66f2a952c5d53ab76f4e062fb
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Current MTU size was not sufficient to test GATT Client, where lower
tester requires to send data of length 512 +opcode +BT address.
This exceeds current BTP_MTU size.
Change-Id: I090c47975ecfe9a657d6ff1158b5dc764c8a78a1
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
Both places in the central app that enable scanning should do
duplicate filtering.
Change-Id: If7086667c78878355dc246aa3d0b5ebcbdd0ac7b
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
This uses BT_UUID_DECLARE_16 in macros that can only be of 16 bits
format.
Change-Id: I45d4bcca9859a2e279b1199546891df75a039589
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This makes it easier to declare 16 and 128 bits UUIDS and also save space
in case of 16 bits.
Change-Id: I5790afd9504ee0cca4a951be6bc542685d0a35fb
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
We'll need to have a much more flexible LE advertising API. This is a
first step in that direction. A convenience BT_LE_ADV() macro is
provided to ease converting application code.
Change-Id: I74854487bbdfb4b1cf1bee0b6351d1750a56ff86
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
We'll need to have a much more flexible LE scanning API. This is a
first step towards it. The existing BT_LE_SCAN_FILTER_DUP_* enum
values are converted to macros to avoid having to update application
code at this point.
Change-Id: I0c8d29dc156bad67cddc9401c0d72aee8ec6d8de
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
The function cannot do what it's intended to do if we're already
advertising.
Change-Id: I3dabb24591f655c5faf48da9395e826b2b61cfe9
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
In JustWorks/PasskeyConfirmation pairing slave doesn't check remote
confirmation value (as it doesn't receive one). Factor out confirmation
check to helper and use it only when needed. This keeps code easy to
understand.
Change-Id: Ifb31bc3f2b53586a9c92b29b01e9832c124b0951
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>